""" Health check integration tests. """ import pytest class TestHealthEndpoint: """Tests for the /healthz endpoint.""" def test_healthz_returns_ok(self, client): """Health endpoint should return ok: true when server is running.""" response = client.get("/healthz") assert response.status_code == 200 data = response.get_json() assert data.get("ok") is True def test_healthz_returns_setup_status(self, client): """Health endpoint should include setup completion status.""" response = client.get("/healthz") assert response.status_code == 200 data = response.get_json() assert "setup_completed" in data assert "onboarding_required" in data def test_healthz_returns_registered_modules(self, client): """Health endpoint should list registered API modules.""" response = client.get("/healthz") assert response.status_code == 200 data = response.get_json() assert "registered_modules" in data assert "failed_modules" in data def test_healthz_no_failed_modules(self, client): """Health endpoint should show no failed modules in normal operation.""" response = client.get("/healthz") assert response.status_code == 200 data = response.get_json() assert data.get("failed_modules") == [] class TestSetupStatus: """Tests for the /setup/status endpoint.""" def test_setup_status_returns_required(self, client): """Setup status should indicate if setup is required.""" response = client.get("/setup/status") assert response.status_code == 200 data = response.get_json() assert "required" in data def test_setup_status_returns_version_info(self, client): """Setup status should include version information.""" response = client.get("/setup/status") assert response.status_code == 200 data = response.get_json() # Version info may be present assert isinstance(data, dict)