added tests
This commit is contained in:
39
tests/helpers.py
Normal file
39
tests/helpers.py
Normal file
@@ -0,0 +1,39 @@
|
||||
"""Reusable test data and setup helpers."""
|
||||
|
||||
import httpx
|
||||
|
||||
from tests.endpoints import Endpoints as E
|
||||
|
||||
|
||||
async def set_scenario(client: httpx.AsyncClient, scenario_id: str) -> dict:
|
||||
res = await client.put(E.SCENARIO_ACTIVE, json={"scenario_id": scenario_id})
|
||||
return res.json()
|
||||
|
||||
|
||||
async def get_flights(client: httpx.AsyncClient) -> list[dict]:
|
||||
return (await client.get(E.DATA_FLIGHTS)).json()
|
||||
|
||||
|
||||
async def get_disrupted_flights(client: httpx.AsyncClient) -> list[dict]:
|
||||
return [f for f in await get_flights(client) if f["status"] != "ON_TIME"]
|
||||
|
||||
|
||||
async def get_first_disrupted_flight_id(client: httpx.AsyncClient) -> str:
|
||||
flights = await get_disrupted_flights(client)
|
||||
assert len(flights) > 0, "No disrupted flights in current scenario"
|
||||
return flights[0]["flight_id"]
|
||||
|
||||
|
||||
async def trigger_fce(client: httpx.AsyncClient, flight_id: str) -> str:
|
||||
res = await client.post(E.AGENT_FCE, json={"flight_id": flight_id})
|
||||
data = res.json()
|
||||
assert "run_id" in data, f"FCE trigger failed: {data}"
|
||||
return data["run_id"]
|
||||
|
||||
|
||||
async def trigger_handover(client: httpx.AsyncClient, hubs: list[str] | None = None) -> str:
|
||||
body = {"hubs": hubs} if hubs else {}
|
||||
res = await client.post(E.AGENT_HANDOVER, json=body)
|
||||
data = res.json()
|
||||
assert "run_id" in data, f"Handover trigger failed: {data}"
|
||||
return data["run_id"]
|
||||
Reference in New Issue
Block a user