Browse Source
* Add websocket to APIRouter * Restore upstream/master Pipfile.lock (git checkout upstream/master -- Pipfile.lock) * Added tests for router with a prefixpull/105/head
committed by
Sebastián Ramírez
2 changed files with 57 additions and 0 deletions
@ -0,0 +1,53 @@ |
|||||
|
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!" |
Loading…
Reference in new issue