test_ws_dependencies.py — fastapi Source File
Architecture documentation for test_ws_dependencies.py, a python file in the fastapi codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 7df0a54a_bb86_53af_0022_6796d94b79ca["test_ws_dependencies.py"] c1ef60e8_e635_2e82_29e5_a79e03e975d6["json"] 7df0a54a_bb86_53af_0022_6796d94b79ca --> c1ef60e8_e635_2e82_29e5_a79e03e975d6 0dda2280_3359_8460_301c_e98c77e78185["typing"] 7df0a54a_bb86_53af_0022_6796d94b79ca --> 0dda2280_3359_8460_301c_e98c77e78185 534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"] 7df0a54a_bb86_53af_0022_6796d94b79ca --> 534f6e44_61b8_3c38_8b89_6934a6df9802 a7c04dee_ee23_5891_b185_47ff6bed036d["testclient.py"] 7df0a54a_bb86_53af_0022_6796d94b79ca --> a7c04dee_ee23_5891_b185_47ff6bed036d style 7df0a54a_bb86_53af_0022_6796d94b79ca fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import json
from typing import Annotated
from fastapi import APIRouter, Depends, FastAPI, WebSocket
from fastapi.testclient import TestClient
def dependency_list() -> list[str]:
return []
DepList = Annotated[list[str], Depends(dependency_list)]
def create_dependency(name: str):
def fun(deps: DepList):
deps.append(name)
return Depends(fun)
router = APIRouter(dependencies=[create_dependency("router")])
prefix_router = APIRouter(dependencies=[create_dependency("prefix_router")])
app = FastAPI(dependencies=[create_dependency("app")])
@app.websocket("/", dependencies=[create_dependency("index")])
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: 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: DepList):
await websocket.accept()
await websocket.send_text(json.dumps(deps))
await websocket.close()
app.include_router(router, dependencies=[create_dependency("router2")])
app.include_router(
prefix_router, prefix="/prefix", dependencies=[create_dependency("prefix_router2")]
)
def test_index():
client = TestClient(app)
with client.websocket_connect("/") as websocket:
data = json.loads(websocket.receive_text())
assert data == ["app", "index"]
def test_routerindex():
client = TestClient(app)
with client.websocket_connect("/router") as websocket:
data = json.loads(websocket.receive_text())
assert data == ["app", "router2", "router", "routerindex"]
def test_routerprefixindex():
client = TestClient(app)
with client.websocket_connect("/prefix/") as websocket:
data = json.loads(websocket.receive_text())
assert data == ["app", "prefix_router2", "prefix_router", "routerprefixindex"]
Domain
Subdomains
Functions
Dependencies
- __init__.py
- json
- testclient.py
- typing
Source
Frequently Asked Questions
What does test_ws_dependencies.py do?
test_ws_dependencies.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in test_ws_dependencies.py?
test_ws_dependencies.py defines 8 function(s): create_dependency, dependency_list, index, routerindex, routerprefixindex, test_index, test_routerindex, test_routerprefixindex.
What does test_ws_dependencies.py depend on?
test_ws_dependencies.py imports 4 module(s): __init__.py, json, testclient.py, typing.
Where is test_ws_dependencies.py in the architecture?
test_ws_dependencies.py is located at tests/test_ws_dependencies.py (domain: FastAPI, subdomain: Routing, directory: tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free