Coverage for tests/test_param_class.py: 100%
17 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from typing import Optional 1abcdefg
3from fastapi import FastAPI 1abcdefg
4from fastapi.params import Param 1abcdefg
5from fastapi.testclient import TestClient 1abcdefg
7app = FastAPI() 1abcdefg
10@app.get("/items/") 1abcdefg
11def read_items(q: Optional[str] = Param(default=None)): # type: ignore 1abcdefg
12 return {"q": q} 1hijklmnopqrstu
15client = TestClient(app) 1abcdefg
18def test_default_param_query_none(): 1abcdefg
19 response = client.get("/items/") 1ikmoqsu
20 assert response.status_code == 200, response.text 1ikmoqsu
21 assert response.json() == {"q": None} 1ikmoqsu
24def test_default_param_query(): 1abcdefg
25 response = client.get("/items/?q=foo") 1hjlnprt
26 assert response.status_code == 200, response.text 1hjlnprt
27 assert response.json() == {"q": "foo"} 1hjlnprt