test_server.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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"] is True
  10. assert data["server"] == "astro-mcp"
  11. assert data["port"] == 7016
  12. assert "version" in data
  13. def test_root_lists_tools() -> None:
  14. client = TestClient(create_app())
  15. res = client.get("/")
  16. assert res.status_code == 200
  17. data = res.json()
  18. assert data["server"] == "astro-mcp"
  19. assert data["status"] == "ready"
  20. assert data["tools"] == [
  21. "get_planetary_positions",
  22. "calculate_natal_chart",
  23. "calculate_transit_chart",
  24. "calculate_synastry_chart",
  25. "calculate_composite_chart",
  26. "get_transit_preview",
  27. "person_manage",
  28. "list_house_systems",
  29. "calculate_natal_chart_by_id",
  30. "calculate_transit_chart_by_id",
  31. "calculate_synastry_chart_by_id",
  32. "calculate_composite_chart_by_id",
  33. "get_transit_preview_by_id",
  34. ]
  35. assert data["mcp"] == {"sse": "/mcp/sse", "messages": "/mcp/messages"}