Download backend/tests/test_phase2_session.py from SolutionChallenge/solution_challenge_backend: direct link, hf CLI and curl.
- Browser
- Download file 1.84 kB
-
https://huggingface.co/spaces/SolutionChallenge/solution_challenge_backend/resolve/main/backend/tests/test_phase2_session.py
- Command line
-
hf download hf://spaces/SolutionChallenge/solution_challenge_backend/backend/tests/test_phase2_session.py
-
curl -L -o test_phase2_session.py https://huggingface.co/spaces/SolutionChallenge/solution_challenge_backend/resolve/main/backend/tests/test_phase2_session.py
1.84 kB
| """Phase 2 — Priority 2: session reset vs login behavior.""" | |
| import os | |
| import sys | |
| os.environ.setdefault("CEPHEUS_CLOUD", "1") | |
| os.environ.setdefault("CEPHEUS_API_KEY", "test-key") | |
| BACKEND_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| if BACKEND_DIR not in sys.path: | |
| sys.path.insert(0, BACKEND_DIR) | |
| import pytest | |
| from fastapi.testclient import TestClient | |
| import main # noqa: E402 | |
| API_HEADERS = {"X-API-Key": "test-key"} | |
| def client(): | |
| return TestClient(main.app) | |
| def test_new_session_clears_tracking_not_login(client, monkeypatch): | |
| """Explicit session reset clears data; routine API calls do not.""" | |
| monkeypatch.setattr(main, "detections_history", [{"name": "MK", "camId": "cam-01"}]) | |
| main.vision_engine.face_results["cam-01"] = [{"name": "MK"}] | |
| if hasattr(main.vision_engine, "browser_feeds"): | |
| main.vision_engine.browser_feeds["cam-01"] = {"status": "ACTIVE"} | |
| r = client.post( | |
| "/tracking/session/reset", | |
| headers=API_HEADERS, | |
| json={"broadcast": False, "full_reset": True, "clear_agent_steps": True}, | |
| ) | |
| assert r.status_code == 200 | |
| assert main.detections_history == [] | |
| assert main.vision_engine.face_results.get("cam-01", []) == [] | |
| def test_global_reset_broadcast_requires_admin(client): | |
| r = client.post( | |
| "/tracking/session/reset", | |
| headers=API_HEADERS, | |
| json={"broadcast": True}, | |
| ) | |
| assert r.status_code == 403 | |
| def test_operator_can_reset_own_session_without_broadcast(client, monkeypatch): | |
| monkeypatch.setattr(main, "detections_history", [{"name": "X"}]) | |
| r = client.post( | |
| "/tracking/session/reset", | |
| headers=API_HEADERS, | |
| json={"broadcast": False, "full_reset": True}, | |
| ) | |
| assert r.status_code == 200 | |
| assert main.detections_history == [] | |