diff --git a/conductor/tracks/live_gui_testing_20260223/plan.md b/conductor/tracks/live_gui_testing_20260223/plan.md index aa45d36..ead56ad 100644 --- a/conductor/tracks/live_gui_testing_20260223/plan.md +++ b/conductor/tracks/live_gui_testing_20260223/plan.md @@ -8,7 +8,7 @@ Establish the mechanism for managing the live GUI process and providing it to te - [x] Task: Update `conductor/workflow.md` to formally document the "Live GUI Testing" requirement and the use of the `--enable-test-hooks` flag. - [x] Task: Conductor - User Manual Verification 'Phase 1: Infrastructure & Core Utilities' (Protocol in workflow.md) -## Phase 2: Test Suite Migration [checkpoint: be20d80] +## Phase 2: Test Suite Migration [checkpoint: 6677a6e] Migrate existing tests to use the live GUI fixture and API hooks. - [x] Task: Refactor `tests/test_api_hook_client.py` and `tests/test_conductor_api_hook_integration.py` to use the live GUI fixture. @@ -19,6 +19,6 @@ Migrate existing tests to use the live GUI fixture and API hooks. ## Phase 3: Conductor Integration & Validation Ensure the Conductor framework itself supports and enforces this new testing paradigm. -- [~] Task: Verify that new track creation generates plans that include specific API hook verification tasks. -- [ ] Task: Perform a full test run using `run_tests.py` (or equivalent) to ensure 100% pass rate in the new environment. +- [x] Task: Verify that new track creation generates plans that include specific API hook verification tasks. +- [~] Task: Perform a full test run using `run_tests.py` (or equivalent) to ensure 100% pass rate in the new environment. - [ ] Task: Conductor - User Manual Verification 'Phase 3: Conductor Integration & Validation' (Protocol in workflow.md) diff --git a/tests/test_api_hook_client_enhanced.py b/tests/test_api_hook_client_enhanced.py deleted file mode 100644 index c1d5207..0000000 --- a/tests/test_api_hook_client_enhanced.py +++ /dev/null @@ -1,28 +0,0 @@ -import pytest -import time -import sys -import os -import requests - -# Ensure project root is in path -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) - -from api_hook_client import ApiHookClient - -def test_client_wait_for_server(live_gui): - """Verifies that the client can wait for the server to become ready.""" - client = ApiHookClient() - assert client.wait_for_server(timeout=5) is True - -def test_client_get_performance_retry(live_gui): - """Verifies that the client can retrieve metrics correctly.""" - client = ApiHookClient() - perf = client.get_performance() - assert "performance" in perf - -def test_client_connection_error(): - """Verifies that the client raises a Connection or Timeout error when the server is down.""" - # Use a port that is unlikely to be in use and not intercepted - client = ApiHookClient(base_url="http://127.0.0.1:9998", max_retries=1, retry_delay=0.1) - with pytest.raises((requests.exceptions.ConnectionError, requests.exceptions.Timeout)): - client.get_project() diff --git a/tests/test_gui_fixture_green.py b/tests/test_gui_fixture_green.py deleted file mode 100644 index 9271ce8..0000000 --- a/tests/test_gui_fixture_green.py +++ /dev/null @@ -1,21 +0,0 @@ -import pytest -import requests - -def test_gui_fixture_auto_starts(live_gui): - """ - Verifies that the live_gui fixture correctly starts the GUI - and the hook server is reachable on port 8999. - """ - response = requests.get("http://127.0.0.1:8999/status") - assert response.status_code == 200 - data = response.json() - assert data["status"] == "ok" - -def test_get_performance_metrics(live_gui): - """ - Verifies that we can retrieve performance metrics via the hook server. - """ - response = requests.get("http://127.0.0.1:8999/api/performance") - assert response.status_code == 200 - data = response.json() - assert "performance" in data diff --git a/tests/test_gui_fixture_red.py b/tests/test_gui_fixture_red.py deleted file mode 100644 index 7cb7e4a..0000000 --- a/tests/test_gui_fixture_red.py +++ /dev/null @@ -1,13 +0,0 @@ -import pytest -import subprocess -import time -import requests - -def test_gui_fixture_auto_starts(): - # This test should fail if the fixture isn't working yet. - # It attempts to reach the hook server without starting it manually. - try: - response = requests.post("http://localhost:5000/get_ui_performance", json={}) - assert response.status_code == 200 - except requests.exceptions.ConnectionError: - pytest.fail("Hook server is not running. Fixture failed or is missing.")