Skip to content

Commit

Permalink
✅ Tweak tests for WebSockets with dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
tiangolo committed Jun 11, 2023
1 parent 230f291 commit 931b492
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions tests/test_ws_dependencies.py
@@ -1,17 +1,20 @@
import json
from typing import List, Optional
from typing import List

from fastapi import APIRouter, Depends, FastAPI, WebSocket
from fastapi.testclient import TestClient
from typing_extensions import Annotated


def dependency_list(deps: Optional[str] = None) -> List[str]:
return [deps] if deps else []
def dependency_list() -> List[str]:
return []


DepList = Annotated[List[str], Depends(dependency_list)]


def create_dependency(name: str):
def fun(deps: List[str] = Depends(dependency_list)):
print(f"create_dependency.fun({name})")
def fun(deps: DepList):
deps.append(name)

return Depends(fun)
Expand All @@ -23,21 +26,21 @@ def fun(deps: List[str] = Depends(dependency_list)):


@app.websocket("/", dependencies=[create_dependency("index")])
async def index(websocket: WebSocket, deps=Depends(dependency_list)):
async def index(websocket: WebSocket, deps: DepList):
await websocket.accept()
await websocket.send_text(json.dumps(deps))
await websocket.close()


@router.websocket("/router", dependencies=[create_dependency("routerindex")])
async def routerindex(websocket: WebSocket, deps=Depends(dependency_list)):
async def routerindex(websocket: WebSocket, deps: DepList):
await websocket.accept()
await websocket.send_text(json.dumps(deps))
await websocket.close()


@prefix_router.websocket("/", dependencies=[create_dependency("routerprefixindex")])
async def routerprefixindex(websocket: WebSocket, deps=Depends(dependency_list)):
async def routerprefixindex(websocket: WebSocket, deps: DepList):
await websocket.accept()
await websocket.send_text(json.dumps(deps))
await websocket.close()
Expand Down

0 comments on commit 931b492

Please sign in to comment.