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

1import importlib 1abcd

2from types import ModuleType 1abcd

3 

4import pytest 1abcd

5 

6from ...utils import needs_py310 1abcd

7 

8 

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!#$%'()*+,-./

21 

22 

23def test_override_in_items_run(test_module: ModuleType): 1abcd

24 test_override_in_items = test_module.test_override_in_items 1:;=?@[]

25 

26 test_override_in_items() 1:;=?@[]

27 

28 

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^_`{|}~

31 

32 test_override_in_items_with_q() 1^_`{|}~

33 

34 

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

37 

38 test_override_in_items_with_params() 2abbbcbdbebfbgb

39 

40 

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 } 

49 

50 

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 } 

59 

60 

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 } 

69 

70 

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 }