Coverage for tests/test_tutorial/test_testing_dependencies/test_tutorial001.py: 100%
39 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
1import importlib 1abcdef
2from types import ModuleType 1abcdef
4import pytest 1abcdef
6from ...utils import needs_py39, needs_py310 1abcdef
9@pytest.fixture( 1abcdef
10 name="test_module",
11 params=[
12 "tutorial001",
13 pytest.param("tutorial001_py310", marks=needs_py310),
14 "tutorial001_an",
15 pytest.param("tutorial001_an_py39", marks=needs_py39),
16 pytest.param("tutorial001_an_py310", marks=needs_py310),
17 ],
18)
19def get_test_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdef
20 mod: ModuleType = importlib.import_module( 1abcdef
21 f"docs_src.dependency_testing.{request.param}"
22 )
23 return mod 1abcdef
26def test_override_in_items_run(test_module: ModuleType): 1abcdef
27 test_override_in_items = test_module.test_override_in_items 1EFGHIJ
29 test_override_in_items() 1EFGHIJ
32def test_override_in_items_with_q_run(test_module: ModuleType): 1abcdef
33 test_override_in_items_with_q = test_module.test_override_in_items_with_q 1KLMNOP
35 test_override_in_items_with_q() 1KLMNOP
38def test_override_in_items_with_params_run(test_module: ModuleType): 1abcdef
39 test_override_in_items_with_params = test_module.test_override_in_items_with_params 1QRSTUV
41 test_override_in_items_with_params() 1QRSTUV
44def test_override_in_users(test_module: ModuleType): 1abcdef
45 client = test_module.client 1mnopqr
46 response = client.get("/users/") 1mnopqr
47 assert response.status_code == 200, response.text 1mnopqr
48 assert response.json() == { 1mnopqr
49 "message": "Hello Users!",
50 "params": {"q": None, "skip": 5, "limit": 10},
51 }
54def test_override_in_users_with_q(test_module: ModuleType): 1abcdef
55 client = test_module.client 1stuvwx
56 response = client.get("/users/?q=foo") 1stuvwx
57 assert response.status_code == 200, response.text 1stuvwx
58 assert response.json() == { 1stuvwx
59 "message": "Hello Users!",
60 "params": {"q": "foo", "skip": 5, "limit": 10},
61 }
64def test_override_in_users_with_params(test_module: ModuleType): 1abcdef
65 client = test_module.client 1yzABCD
66 response = client.get("/users/?q=foo&skip=100&limit=200") 1yzABCD
67 assert response.status_code == 200, response.text 1yzABCD
68 assert response.json() == { 1yzABCD
69 "message": "Hello Users!",
70 "params": {"q": "foo", "skip": 5, "limit": 10},
71 }
74def test_normal_app(test_module: ModuleType): 1abcdef
75 app = test_module.app 1ghijkl
76 client = test_module.client 1ghijkl
77 app.dependency_overrides = None 1ghijkl
78 response = client.get("/items/?q=foo&skip=100&limit=200") 1ghijkl
79 assert response.status_code == 200, response.text 1ghijkl
80 assert response.json() == { 1ghijkl
81 "message": "Hello Items!",
82 "params": {"q": "foo", "skip": 100, "limit": 200},
83 }