Marcelo Trylesinski
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
17 additions and
1 deletions
-
fastapi/routing.py
-
tests/test_ws_router.py
|
|
@ -649,7 +649,7 @@ class APIRouter(routing.Router): |
|
|
|
self, path: str, endpoint: Callable[..., Any], name: Optional[str] = None |
|
|
|
) -> None: |
|
|
|
route = APIWebSocketRoute( |
|
|
|
path, |
|
|
|
self.prefix + path, |
|
|
|
endpoint=endpoint, |
|
|
|
name=name, |
|
|
|
dependency_overrides_provider=self.dependency_overrides_provider, |
|
|
|
|
|
@ -3,6 +3,7 @@ from fastapi.testclient import TestClient |
|
|
|
|
|
|
|
router = APIRouter() |
|
|
|
prefix_router = APIRouter() |
|
|
|
native_prefix_route = APIRouter(prefix="/native") |
|
|
|
app = FastAPI() |
|
|
|
|
|
|
|
|
|
|
@ -47,8 +48,16 @@ async def router_ws_decorator_depends( |
|
|
|
await websocket.close() |
|
|
|
|
|
|
|
|
|
|
|
@native_prefix_route.websocket("/") |
|
|
|
async def router_native_prefix_ws(websocket: WebSocket): |
|
|
|
await websocket.accept() |
|
|
|
await websocket.send_text("Hello, router with native prefix!") |
|
|
|
await websocket.close() |
|
|
|
|
|
|
|
|
|
|
|
app.include_router(router) |
|
|
|
app.include_router(prefix_router, prefix="/prefix") |
|
|
|
app.include_router(native_prefix_route) |
|
|
|
|
|
|
|
|
|
|
|
def test_app(): |
|
|
@ -72,6 +81,13 @@ def test_prefix_router(): |
|
|
|
assert data == "Hello, router with prefix!" |
|
|
|
|
|
|
|
|
|
|
|
def test_native_prefix_router(): |
|
|
|
client = TestClient(app) |
|
|
|
with client.websocket_connect("/native/") as websocket: |
|
|
|
data = websocket.receive_text() |
|
|
|
assert data == "Hello, router with native prefix!" |
|
|
|
|
|
|
|
|
|
|
|
def test_router2(): |
|
|
|
client = TestClient(app) |
|
|
|
with client.websocket_connect("/router2") as websocket: |
|
|
|