from __future__ import annotations from typing import Any import pytest from fastapi.testclient import TestClient pytestmark = pytest.mark.smoke class TestMcpHttpEndpoints: """Covers smoke-level HTTP checks for mounted MCP runtime endpoints.""" class TestHealthz: """Covers health endpoint smoke behavior.""" def test_returns_ok_payload(self, client: TestClient) -> None: """Ensures GET /healthz responds with a healthy status payload.""" class TestDocsRoute: """Covers static docs route smoke behavior.""" def test_serves_docs_entrypoint(self, client: TestClient) -> None: """Ensures GET /docs returns the docs site entrypoint response.""" class TestMcpRoute: """Covers MCP transport endpoint smoke behavior.""" @pytest.mark.asyncio async def test_rejects_get_stream_without_support(self, mcp_session: Any) -> None: """Ensures GET /mcp returns method not allowed for current transport mode.""" @pytest.mark.asyncio async def test_accepts_initialize_jsonrpc_request(self, mcp_session_uninitialized: Any) -> None: """Ensures POST /mcp accepts an initialize JSON-RPC request."""