66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
import pytest
|
|
import requests
|
|
from unittest.mock import MagicMock, patch
|
|
import threading
|
|
import time
|
|
import json
|
|
import sys
|
|
import os
|
|
|
|
# Ensure project root is in path for imports
|
|
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
|
|
|
from api_hook_client import ApiHookClient
|
|
|
|
def test_get_status_success(live_gui):
|
|
"""
|
|
Test that get_status successfully retrieves the server status
|
|
when the live GUI is running.
|
|
"""
|
|
client = ApiHookClient()
|
|
status = client.get_status()
|
|
assert status == {'status': 'ok'}
|
|
|
|
def test_get_project_success(live_gui):
|
|
"""
|
|
Test successful retrieval of project data from the live GUI.
|
|
"""
|
|
client = ApiHookClient()
|
|
response = client.get_project()
|
|
assert 'project' in response
|
|
# We don't assert specific content as it depends on the environment's active project
|
|
|
|
def test_get_session_success(live_gui):
|
|
"""
|
|
Test successful retrieval of session data.
|
|
"""
|
|
client = ApiHookClient()
|
|
response = client.get_session()
|
|
assert 'session' in response
|
|
assert 'entries' in response['session']
|
|
|
|
def test_post_gui_success(live_gui):
|
|
"""
|
|
Test successful posting of GUI data.
|
|
"""
|
|
client = ApiHookClient()
|
|
gui_data = {'command': 'set_text', 'id': 'some_item', 'value': 'new_text'}
|
|
response = client.post_gui(gui_data)
|
|
assert response == {'status': 'queued'}
|
|
|
|
def test_get_performance_success(live_gui):
|
|
"""
|
|
Test successful retrieval of performance metrics.
|
|
"""
|
|
client = ApiHookClient()
|
|
response = client.get_performance()
|
|
assert "performance" in response
|
|
|
|
def test_unsupported_method_error():
|
|
"""
|
|
Test that calling an unsupported HTTP method raises a ValueError.
|
|
"""
|
|
client = ApiHookClient()
|
|
with pytest.raises(ValueError, match="Unsupported HTTP method"):
|
|
client._make_request('PUT', '/some_endpoint', data={'key': 'value'})
|