test_server.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from __future__ import annotations
  2. from fastapi.testclient import TestClient
  3. from src.astro_mcp.server import create_app
  4. def test_health_endpoint_smoke() -> None:
  5. client = TestClient(create_app())
  6. res = client.get("/health")
  7. assert res.status_code == 200
  8. data = res.json()
  9. assert data == {"ok": True, "server": "astro-mcp", "port": 7016}
  10. def test_root_lists_tools() -> None:
  11. client = TestClient(create_app())
  12. res = client.get("/")
  13. assert res.status_code == 200
  14. data = res.json()
  15. assert data["server"] == "astro-mcp"
  16. assert data["status"] == "ready"
  17. assert data["tools"] == [
  18. "get_planetary_positions",
  19. "calculate_natal_chart",
  20. "calculate_transit_chart",
  21. "calculate_synastry_chart",
  22. "calculate_composite_chart",
  23. "get_transit_preview",
  24. "person_manage",
  25. "list_house_systems",
  26. "calculate_natal_chart_by_id",
  27. "calculate_transit_chart_by_id",
  28. "calculate_synastry_chart_by_id",
  29. "calculate_composite_chart_by_id",
  30. "get_transit_preview_by_id",
  31. ]
  32. assert data["mcp"] == {"sse": "/mcp/sse", "messages": "/mcp/messages"}