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