--- /dev/null
+from fastapi import APIRouter, FastAPI
+from starlette.testclient import TestClient
+from starlette.websockets import WebSocket
+
+router = APIRouter()
+prefix_router = APIRouter()
+app = FastAPI()
+
+
+@app.websocket_route("/")
+async def index(websocket: WebSocket):
+ await websocket.accept()
+ await websocket.send_text("Hello, world!")
+ await websocket.close()
+
+
+@router.websocket_route("/router")
+async def routerindex(websocket: WebSocket):
+ await websocket.accept()
+ await websocket.send_text("Hello, router!")
+ await websocket.close()
+
+
+@prefix_router.websocket_route("/")
+async def routerprefixindex(websocket: WebSocket):
+ await websocket.accept()
+ await websocket.send_text("Hello, router with prefix!")
+ await websocket.close()
+
+
+app.include_router(router)
+app.include_router(prefix_router, prefix="/prefix")
+
+
+def test_app():
+ client = TestClient(app)
+ with client.websocket_connect("/") as websocket:
+ data = websocket.receive_text()
+ assert data == "Hello, world!"
+
+
+def test_router():
+ client = TestClient(app)
+ with client.websocket_connect("/router") as websocket:
+ data = websocket.receive_text()
+ assert data == "Hello, router!"
+
+
+def test_prefix_router():
+ client = TestClient(app)
+ with client.websocket_connect("/prefix/") as websocket:
+ data = websocket.receive_text()
+ assert data == "Hello, router with prefix!"