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-02-12 18:15 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
1import importlib 1abdc
2from types import ModuleType 1abdc
4import pytest 1abdc
6from ...utils import needs_py310 1abdc
9@pytest.fixture( 1abdc
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: 1abdc
17 mod: ModuleType = importlib.import_module( 1abc
18 f"docs_src.dependency_testing.{request.param}"
19 )
20 return mod 1abc
23def test_override_in_items_run(test_module: ModuleType): 1abdc
24 test_override_in_items = test_module.test_override_in_items 1qrs
26 test_override_in_items() 1qrs
29def test_override_in_items_with_q_run(test_module: ModuleType): 1abdc
30 test_override_in_items_with_q = test_module.test_override_in_items_with_q 1tuv
32 test_override_in_items_with_q() 1tuv
35def test_override_in_items_with_params_run(test_module: ModuleType): 1abdc
36 test_override_in_items_with_params = test_module.test_override_in_items_with_params 1wxy
38 test_override_in_items_with_params() 1wxy
41def test_override_in_users(test_module: ModuleType): 1abdc
42 client = test_module.client 1hij
43 response = client.get("/users/") 1hij
44 assert response.status_code == 200, response.text 1hij
45 assert response.json() == { 1hij
46 "message": "Hello Users!",
47 "params": {"q": None, "skip": 5, "limit": 10},
48 }
51def test_override_in_users_with_q(test_module: ModuleType): 1abdc
52 client = test_module.client 1klm
53 response = client.get("/users/?q=foo") 1klm
54 assert response.status_code == 200, response.text 1klm
55 assert response.json() == { 1klm
56 "message": "Hello Users!",
57 "params": {"q": "foo", "skip": 5, "limit": 10},
58 }
61def test_override_in_users_with_params(test_module: ModuleType): 1abdc
62 client = test_module.client 1nop
63 response = client.get("/users/?q=foo&skip=100&limit=200") 1nop
64 assert response.status_code == 200, response.text 1nop
65 assert response.json() == { 1nop
66 "message": "Hello Users!",
67 "params": {"q": "foo", "skip": 5, "limit": 10},
68 }
71def test_normal_app(test_module: ModuleType): 1abdc
72 app = test_module.app 1efg
73 client = test_module.client 1efg
74 app.dependency_overrides = None 1efg
75 response = client.get("/items/?q=foo&skip=100&limit=200") 1efg
76 assert response.status_code == 200, response.text 1efg
77 assert response.json() == { 1efg
78 "message": "Hello Items!",
79 "params": {"q": "foo", "skip": 100, "limit": 200},
80 }