Coverage for tests / test_tutorial / test_testing_dependencies / test_tutorial001.py: 100%
39 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-04-06 01:24 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-04-06 01:24 +0000
1import importlib 1abcd
2from types import ModuleType 1abcd
4import pytest 1abcd
6from ...utils import needs_py310 1abcd
9@pytest.fixture( 1abcd
10 name="test_module",
11 params=[
12 pytest.param("tutorial001_py310", marks=needs_py310),
13 pytest.param("tutorial001_an_py310", marks=needs_py310),
14 ],
15)
16def get_test_module(request: pytest.FixtureRequest) -> ModuleType: 1abcd
17 mod: ModuleType = importlib.import_module( 1GHIJKLMNOPQRSTUVWXYZ0123456789!#$%'()*+,-./
18 f"docs_src.dependency_testing.{request.param}"
19 )
20 return mod 1GHIJKLMNOPQRSTUVWXYZ0123456789!#$%'()*+,-./
23def test_override_in_items_run(test_module: ModuleType): 1abcd
24 test_override_in_items = test_module.test_override_in_items 1:;=?@[]
26 test_override_in_items() 1:;=?@[]
29def test_override_in_items_with_q_run(test_module: ModuleType): 1abcd
30 test_override_in_items_with_q = test_module.test_override_in_items_with_q 1^_`{|}~
32 test_override_in_items_with_q() 1^_`{|}~
35def test_override_in_items_with_params_run(test_module: ModuleType): 1abcd
36 test_override_in_items_with_params = test_module.test_override_in_items_with_params 2abbbcbdbebfbgb
38 test_override_in_items_with_params() 2abbbcbdbebfbgb
41def test_override_in_users(test_module: ModuleType): 1abcd
42 client = test_module.client 1lmnopqr
43 response = client.get("/users/") 1lmnopqr
44 assert response.status_code == 200, response.text 1lmnopqr
45 assert response.json() == { 1lmnopqr
46 "message": "Hello Users!",
47 "params": {"q": None, "skip": 5, "limit": 10},
48 }
51def test_override_in_users_with_q(test_module: ModuleType): 1abcd
52 client = test_module.client 1stuvwxy
53 response = client.get("/users/?q=foo") 1stuvwxy
54 assert response.status_code == 200, response.text 1stuvwxy
55 assert response.json() == { 1stuvwxy
56 "message": "Hello Users!",
57 "params": {"q": "foo", "skip": 5, "limit": 10},
58 }
61def test_override_in_users_with_params(test_module: ModuleType): 1abcd
62 client = test_module.client 1zABCDEF
63 response = client.get("/users/?q=foo&skip=100&limit=200") 1zABCDEF
64 assert response.status_code == 200, response.text 1zABCDEF
65 assert response.json() == { 1zABCDEF
66 "message": "Hello Users!",
67 "params": {"q": "foo", "skip": 5, "limit": 10},
68 }
71def test_normal_app(test_module: ModuleType): 1abcd
72 app = test_module.app 1efghijk
73 client = test_module.client 1efghijk
74 app.dependency_overrides = None 1efghijk
75 response = client.get("/items/?q=foo&skip=100&limit=200") 1efghijk
76 assert response.status_code == 200, response.text 1efghijk
77 assert response.json() == { 1efghijk
78 "message": "Hello Items!",
79 "params": {"q": "foo", "skip": 100, "limit": 200},
80 }