Coverage for tests / test_tutorial / test_delete / test_tutorial001_tutorial002.py: 100%
20 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
1import importlib 1abcdefgh
2from types import ModuleType 1abcdefgh
4import pytest 1abcdefgh
5from sqlmodel import create_engine 1abcdefgh
7from ...conftest import PrintMock 1abcdefgh
9expected_calls = [ 1abcdefgh
10 [
11 "Hero 1:",
12 {"id": 2, "name": "Spider-Boy", "secret_name": "Pedro Parqueador", "age": None},
13 ],
14 [
15 "Hero 2:",
16 {
17 "id": 7,
18 "name": "Captain North America",
19 "secret_name": "Esteban Rogelios",
20 "age": 93,
21 },
22 ],
23 [
24 "Updated hero 1:",
25 {
26 "id": 2,
27 "name": "Spider-Youngster",
28 "secret_name": "Pedro Parqueador",
29 "age": 16,
30 },
31 ],
32 [
33 "Updated hero 2:",
34 {
35 "id": 7,
36 "name": "Captain North America Except Canada",
37 "secret_name": "Esteban Rogelios",
38 "age": 110,
39 },
40 ],
41 [
42 "Hero: ",
43 {
44 "id": 2,
45 "name": "Spider-Youngster",
46 "secret_name": "Pedro Parqueador",
47 "age": 16,
48 },
49 ],
50 [
51 "Deleted hero:",
52 {
53 "id": 2,
54 "name": "Spider-Youngster",
55 "secret_name": "Pedro Parqueador",
56 "age": 16,
57 },
58 ],
59 ["There's no hero named Spider-Youngster"],
60]
63@pytest.fixture(name="module") 1abcdefgh
64def get_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdefgh
65 module = importlib.import_module(f"docs_src.tutorial.delete.{request.param}") 1abcdefgh
66 module.sqlite_url = "sqlite://" 1abcdefgh
67 module.engine = create_engine(module.sqlite_url) 1abcdefgh
68 return module 1abcdefgh
71@pytest.mark.parametrize( 1abcdefgh
72 "module",
73 [
74 pytest.param("tutorial001_py310"),
75 ],
76 indirect=True,
77)
78def test_tutorial001(print_mock: PrintMock, module: ModuleType): 1abcdefgh
79 module.main() 1ijklmnop
80 assert print_mock.calls == expected_calls 1ijklmnop
83@pytest.mark.parametrize( 1abcdefgh
84 "module",
85 [
86 pytest.param("tutorial002_py310"),
87 ],
88 indirect=True,
89)
90def test_tutorial002(print_mock: PrintMock, module: ModuleType): 1abcdefgh
91 module.main() 1qrstuvwx
92 assert print_mock.calls == expected_calls 1qrstuvwx