Coverage for docs_src/dependency_testing/tutorial001_py310.py: 100%
27 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from fastapi import Depends, FastAPI 1abcd
2from fastapi.testclient import TestClient 1abcd
4app = FastAPI() 1abcd
7async def common_parameters(q: str | None = None, skip: int = 0, limit: int = 100): 1abcd
8 return {"q": q, "skip": skip, "limit": limit} 1qrst
11@app.get("/items/") 1abcd
12async def read_items(commons: dict = Depends(common_parameters)): 1abcd
13 return {"message": "Hello Items!", "params": commons} 1qefgrhijsklmtnop
16@app.get("/users/") 1abcd
17async def read_users(commons: dict = Depends(common_parameters)): 1abcd
18 return {"message": "Hello Users!", "params": commons} 1uvwxyzABCDEF
21client = TestClient(app) 1abcd
24async def override_dependency(q: str | None = None): 1abcd
25 return {"q": q, "skip": 5, "limit": 10} 1efguvwhijxyzklmABCnopDEF
28app.dependency_overrides[common_parameters] = override_dependency 1abcd
31def test_override_in_items(): 1abcd
32 response = client.get("/items/") 1ehkn
33 assert response.status_code == 200 1ehkn
34 assert response.json() == { 1ehkn
35 "message": "Hello Items!",
36 "params": {"q": None, "skip": 5, "limit": 10},
37 }
40def test_override_in_items_with_q(): 1abcd
41 response = client.get("/items/?q=foo") 1gjmp
42 assert response.status_code == 200 1gjmp
43 assert response.json() == { 1gjmp
44 "message": "Hello Items!",
45 "params": {"q": "foo", "skip": 5, "limit": 10},
46 }
49def test_override_in_items_with_params(): 1abcd
50 response = client.get("/items/?q=foo&skip=100&limit=200") 1filo
51 assert response.status_code == 200 1filo
52 assert response.json() == { 1filo
53 "message": "Hello Items!",
54 "params": {"q": "foo", "skip": 5, "limit": 10},
55 }