fastapi
1from typing import Optional2
3from fastapi import FastAPI4from fastapi.params import Param5from fastapi.testclient import TestClient6
7app = FastAPI()8
9
10@app.get("/items/")11def read_items(q: Optional[str] = Param(default=None)): # type: ignore12return {"q": q}13
14
15client = TestClient(app)16
17
18def test_default_param_query_none():19response = client.get("/items/")20assert response.status_code == 200, response.text21assert response.json() == {"q": None}22
23
24def test_default_param_query():25response = client.get("/items/?q=foo")26assert response.status_code == 200, response.text27assert response.json() == {"q": "foo"}28