mirror of
https://github.com/fastapi/fastapi.git
synced 2026-01-01 10:37:47 -05:00
* ✏️ Fix typo in security intro * ✨ Add testing docs and tests * 🐛 Debug Travis coverage * 🐛 Debug Travis coverage, report XML * 💚 Make Travis/Flit use same code install * ⏪ Revert Travis/Codecov debugging changes
32 lines
767 B
Python
32 lines
767 B
Python
from fastapi import FastAPI
|
|
from starlette.testclient import TestClient
|
|
from starlette.websockets import WebSocket
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
@app.get("/")
|
|
async def read_main():
|
|
return {"msg": "Hello World"}
|
|
|
|
|
|
@app.websocket_route("/ws")
|
|
async def websocket(websocket: WebSocket):
|
|
await websocket.accept()
|
|
await websocket.send_json({"msg": "Hello WebSocket"})
|
|
await websocket.close()
|
|
|
|
|
|
def test_read_main():
|
|
client = TestClient(app)
|
|
response = client.get("/")
|
|
assert response.status_code == 200
|
|
assert response.json() == {"msg": "Hello World"}
|
|
|
|
|
|
def test_websocket():
|
|
client = TestClient(app)
|
|
with client.websocket_connect("/ws") as websocket:
|
|
data = websocket.receive_json()
|
|
assert data == {"msg": "Hello WebSocket"}
|