pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
import fastapi.routing as routing
|
|
from fastapi.routing_handlers import RouteHandlerConfig
|
|
from fastapi.routing_router import APIRouter
|
|
from fastapi.routing_routes import APIRoute, APIWebSocketRoute
|
|
from fastapi.routing_utils import request_response, websocket_session
|
|
|
|
|
|
def test_routing_facade_exports_expected_symbols() -> None:
|
|
expected = {
|
|
"APIRouter",
|
|
"APIRoute",
|
|
"APIWebSocketRoute",
|
|
"RouteHandlerConfig",
|
|
"get_request_handler",
|
|
"get_websocket_app",
|
|
"request_response",
|
|
"websocket_session",
|
|
"_PING_INTERVAL",
|
|
}
|
|
assert expected.issubset(set(routing.__all__))
|
|
|
|
|
|
def test_routing_facade_re_exports_router_classes() -> None:
|
|
assert routing.APIRouter is APIRouter
|
|
assert routing.APIRoute is APIRoute
|
|
assert routing.APIWebSocketRoute is APIWebSocketRoute
|
|
|
|
|
|
def test_routing_facade_re_exports_handler_contracts() -> None:
|
|
assert routing.RouteHandlerConfig is RouteHandlerConfig
|
|
assert routing.request_response is request_response
|
|
assert routing.websocket_session is websocket_session
|
|
|
|
|
|
def test_routing_ping_constant_compatibility() -> None:
|
|
assert isinstance(routing._PING_INTERVAL, (float, int))
|
|
|