Coverage for tests/test_tutorial/test_delete/test_tutorial001_py310_tutorial002_py310.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-09 00:02 +0000

1from unittest.mock import patch 1labcde

2 

3from sqlmodel import create_engine 1labcde

4 

5from ...conftest import get_testing_print_function, needs_py310 1labcde

6 

7expected_calls = [ 1abcde

8 [ 

9 "Hero 1:", 

10 {"id": 2, "name": "Spider-Boy", "secret_name": "Pedro Parqueador", "age": None}, 

11 ], 

12 [ 

13 "Hero 2:", 

14 { 

15 "id": 7, 

16 "name": "Captain North America", 

17 "secret_name": "Esteban Rogelios", 

18 "age": 93, 

19 }, 

20 ], 

21 [ 

22 "Updated hero 1:", 

23 { 

24 "id": 2, 

25 "name": "Spider-Youngster", 

26 "secret_name": "Pedro Parqueador", 

27 "age": 16, 

28 }, 

29 ], 

30 [ 

31 "Updated hero 2:", 

32 { 

33 "id": 7, 

34 "name": "Captain North America Except Canada", 

35 "secret_name": "Esteban Rogelios", 

36 "age": 110, 

37 }, 

38 ], 

39 [ 

40 "Hero: ", 

41 { 

42 "id": 2, 

43 "name": "Spider-Youngster", 

44 "secret_name": "Pedro Parqueador", 

45 "age": 16, 

46 }, 

47 ], 

48 [ 

49 "Deleted hero:", 

50 { 

51 "id": 2, 

52 "name": "Spider-Youngster", 

53 "secret_name": "Pedro Parqueador", 

54 "age": 16, 

55 }, 

56 ], 

57 ["There's no hero named Spider-Youngster"], 

58] 

59 

60 

61@needs_py310 1labcde

62def test_tutorial001(clear_sqlmodel): 1abcde

63 from docs_src.tutorial.delete import tutorial001_py310 as mod 1fgh

64 

65 mod.sqlite_url = "sqlite://" 1fgh

66 mod.engine = create_engine(mod.sqlite_url) 1fgh

67 calls = [] 1fgh

68 

69 new_print = get_testing_print_function(calls) 1fgh

70 

71 with patch("builtins.print", new=new_print): 1fgh

72 mod.main() 1fgh

73 assert calls == expected_calls 1fgh

74 

75 

76@needs_py310 1labcde

77def test_tutorial002(clear_sqlmodel): 1abcde

78 from docs_src.tutorial.delete import tutorial002_py310 as mod 1ijk

79 

80 mod.sqlite_url = "sqlite://" 1ijk

81 mod.engine = create_engine(mod.sqlite_url) 1ijk

82 calls = [] 1ijk

83 

84 new_print = get_testing_print_function(calls) 1ijk

85 

86 with patch("builtins.print", new=new_print): 1ijk

87 mod.main() 1ijk

88 assert calls == expected_calls 1ijk