multi-agent-env / tests /test_server.py
Madhav189's picture
Sync project files from main repo
1ba65c9
Raw
History Blame Contribute Delete
1.3 kB
from __future__ import annotations
from fastapi.testclient import TestClient
from environments.pomir_env.server import app
def test_server_exposes_challenge_routes() -> None:
client = TestClient(app)
health = client.get("/health")
assert health.status_code == 200
assert health.json()["environment"] == "spectra_main"
tasks = client.get("/tasks")
assert tasks.status_code == 200
assert len(tasks.json()["scenarios"]) >= 5
baseline = client.get("/baseline", params={"scenario_id": "database_sqli_outage"})
assert baseline.status_code == 200
assert baseline.json()["baselines"][0]["scenario_id"] == "database_sqli_outage"
def test_server_reset_plan_step_flow() -> None:
client = TestClient(app)
reset = client.post(
"/reset",
json={"scenario_id": "database_sqli_outage", "seed": 42},
)
assert reset.status_code == 200
assert reset.json()["observation"]["scenario_id"] == "database_sqli_outage"
plan = client.post("/plan")
assert plan.status_code == 200
assert plan.json()["action"]["action_type"] == "isolate_service"
step = client.post("/step", json={"action": plan.json()["action"]})
assert step.status_code == 200
assert step.json()["observation"]["workflow_stage"] == "remediation"