@ -1,7 +1,8 @@
from enum import IntEnum
from enum import IntEnum
import fastapi . routing as routing
import fastapi . routing as routing
from fastapi . routing_handlers import RouteHandlerConfig
from fastapi . dependencies . utils import get_dependant
from fastapi . routing_handlers import RouteHandlerConfig , get_request_handler
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
@ -50,6 +51,9 @@ def _raw_response_endpoint() -> Response:
def test_api_route_defaults_and_intenum_status_paths ( ) - > None :
def test_api_route_defaults_and_intenum_status_paths ( ) - > None :
raw = _raw_response_endpoint ( )
assert raw . body == b " ok "
route = routing . APIRoute (
route = routing . APIRoute (
" /raw-response " ,
" /raw-response " ,
_raw_response_endpoint ,
_raw_response_endpoint ,
@ -60,6 +64,15 @@ def test_api_route_defaults_and_intenum_status_paths() -> None:
assert route . methods == { " GET " }
assert route . methods == { " GET " }
def test_get_request_handler_supports_legacy_dependant_signature ( ) - > None :
async def endpoint ( ) - > dict [ str , str ] :
return { " ok " : " true " }
dependant = get_dependant ( path = " /legacy " , call = endpoint )
handler = get_request_handler ( dependant )
assert callable ( handler )
def test_request_response_wraps_sync_callable ( ) - > None :
def test_request_response_wraps_sync_callable ( ) - > None :
def endpoint ( _ : Request ) - > Response :
def endpoint ( _ : Request ) - > Response :
return Response ( " sync-ok " )
return Response ( " sync-ok " )