Coverage for tests/test_param_class.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-05 00:03 +0000

1from typing import Optional 1abcdef

2 

3from fastapi import FastAPI 1abcdef

4from fastapi.params import Param 1abcdef

5from fastapi.testclient import TestClient 1abcdef

6 

7app = FastAPI() 1abcdef

8 

9 

10@app.get("/items/") 1abcdef

11def read_items(q: Optional[str] = Param(default=None)): # type: ignore 1abcdef

12 return {"q": q} 1ghijklmnopqr

13 

14 

15client = TestClient(app) 1abcdef

16 

17 

18def test_default_param_query_none(): 1abcdef

19 response = client.get("/items/") 1hjlnpr

20 assert response.status_code == 200, response.text 1hjlnpr

21 assert response.json() == {"q": None} 1hjlnpr

22 

23 

24def test_default_param_query(): 1abcdef

25 response = client.get("/items/?q=foo") 1gikmoq

26 assert response.status_code == 200, response.text 1gikmoq

27 assert response.json() == {"q": "foo"} 1gikmoq