Files
manual_slop/tests/test_ai_settings_layout.py

59 lines
1.6 KiB
Python

import pytest
import time
from src.api_hook_client import ApiHookClient
@pytest.mark.timeout(30)
def test_change_provider_via_hook(live_gui) -> None:
"""Verify that we can change the current provider via the API hook."""
client = ApiHookClient()
if not client.wait_for_server():
pytest.fail("Server did not become ready")
# Change provider to 'anthropic'
client.set_value('current_provider', 'anthropic')
# Wait for state to reflect change
success = False
state = {}
for _ in range(20):
state = client.get_gui_state()
if state.get('current_provider') == 'anthropic':
success = True
break
time.sleep(0.5)
assert success, f"Provider did not update. Current state: {state}"
@pytest.mark.timeout(30)
def test_set_params_via_custom_callback(live_gui) -> None:
"""Verify we can use custom_callback to set temperature and max_tokens."""
client = ApiHookClient()
if not client.wait_for_server():
pytest.fail("Server did not become ready")
# Set temperature via custom_callback using _set_attr
client.post_gui({
"action": "custom_callback",
"callback": "_set_attr",
"args": ["temperature", 0.85]
})
# Set max_tokens via custom_callback using _set_attr
client.post_gui({
"action": "custom_callback",
"callback": "_set_attr",
"args": ["max_tokens", 1024]
})
# Verify via get_gui_state
success = False
state = {}
for _ in range(20):
state = client.get_gui_state()
if state.get('temperature') == 0.85 and state.get('max_tokens') == 1024:
success = True
break
time.sleep(0.5)
assert success, f"Params did not update via custom_callback. Got: {state}"