from fastapi.testclient import TestClient from app.core.config import settings def test_create_event_with_no_payload(client: TestClient) -> None: data = { "event_name": "event 1", "event_origin": "studio_api", "event_type": "test_event", "payload": None, "public_id": "public-1", "user_id": 1, } response = client.post( f"{settings.API_V1_STR}/events/", json=data, ) assert response.status_code == 200 content = response.json() assert content["status"] == "ok" def test_create_event_with_flat_payload(client: TestClient) -> None: data = { "event_name": "event 1", "event_origin": "studio_api", "event_type": "test_event", "payload": { "level": 1, "message": "test message", "status": True }, "public_id": "public-1", "user_id": 1, } response = client.post( f"{settings.API_V1_STR}/events/", json=data, ) assert response.status_code == 200 content = response.json() assert content["status"] == "ok" def test_create_event_with_nested_payload(client: TestClient) -> None: data = { "event_name": "event 1", "event_origin": "studio_api", "event_type": "test_event", "payload": { "data": { "level": 1, "target": "test message", "status": True }, "message": "important", }, "public_id": "public-1", "user_id": 1, } response = client.post( f"{settings.API_V1_STR}/events/", json=data, ) assert response.status_code == 200 content = response.json() assert content["status"] == "ok"