edge-latency-aware-cross-ve.../tests/test_api.py

38 lines
912 B
Python

import json
import pytest
from fastapi.testclient import TestClient
from elac_plan.api import app
client = TestClient(app)
def test_create_problem_smoke():
payload = {
"id": "probe-001",
"asset": "AAPL",
"venue": "XNAS",
"objective": "minimize_spread",
"constraints": {"max_slippage": 0.5},
"price_target": 150.0,
"tolerance": 0.2,
}
resp = client.post("/problems", json=payload)
assert resp.status_code == 200
data = resp.json()
assert data["problem_id"] == payload["id"]
assert "delta" in data
# validate delta payload json can be parsed back
delta = json.loads(data["delta"])
assert delta["action"] == "place_order"
def test_status_endpoint():
resp = client.get("/status")
assert resp.status_code == 200
body = resp.json()
assert "problems_count" in body
assert "deltas_count" in body