Browse Source

Add routing request_response branch coverage tests.

Cover both sync and async wrapper paths in request_response to keep aggregate coverage at the repository fail-under threshold.

Made-with: Cursor
pull/15210/head
rajratanm 4 months ago
parent
commit
314a6f9015
  1. 24
      tests/test_routing_facade_contract.py

24
tests/test_routing_facade_contract.py

@ -5,7 +5,9 @@ from fastapi.routing_handlers import RouteHandlerConfig
from fastapi.routing_router import APIRouter from fastapi.routing_router import APIRouter
from fastapi.routing_routes import APIRoute, APIWebSocketRoute from fastapi.routing_routes import APIRoute, APIWebSocketRoute
from fastapi.routing_utils import request_response, websocket_session from fastapi.routing_utils import request_response, websocket_session
from starlette.requests import Request
from starlette.responses import Response from starlette.responses import Response
from starlette.testclient import TestClient
def test_routing_facade_exports_expected_symbols() -> None: def test_routing_facade_exports_expected_symbols() -> None:
@ -56,3 +58,25 @@ def test_api_route_defaults_and_intenum_status_paths() -> None:
assert route.response_model is None assert route.response_model is None
assert route.status_code == 201 assert route.status_code == 201
assert route.methods == {"GET"} assert route.methods == {"GET"}
def test_request_response_wraps_sync_callable() -> None:
def endpoint(_: Request) -> Response:
return Response("sync-ok")
app = request_response(endpoint)
client = TestClient(app)
response = client.get("/")
assert response.status_code == 200
assert response.text == "sync-ok"
def test_request_response_wraps_async_callable() -> None:
async def endpoint(_: Request) -> Response:
return Response("async-ok")
app = request_response(endpoint)
client = TestClient(app)
response = client.get("/")
assert response.status_code == 200
assert response.text == "async-ok"

Loading…
Cancel
Save