Coverage for tests / test_tutorial / test_relationship_attributes / test_back_populates / test_tutorial002.py: 100%
15 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
10@pytest.fixture( 1abcdefgh
11 name="mod",
12 params=[
13 pytest.param("tutorial002_py310"),
14 ],
15)
16def get_module(request: pytest.FixtureRequest) -> ModuleType: 1abcdefgh
17 mod = importlib.import_module( 1abcdefgh
18 f"docs_src.tutorial.relationship_attributes.back_populates.{request.param}"
19 )
20 mod.sqlite_url = "sqlite://" 1abcdefgh
21 mod.engine = create_engine(mod.sqlite_url) 1abcdefgh
22 return mod 1abcdefgh
25expected_calls = [ 1abcdefgh
26 [
27 "Created hero:",
28 {
29 "age": None,
30 "id": 1,
31 "secret_name": "Dive Wilson",
32 "team_id": 1,
33 "name": "Deadpond",
34 },
35 ],
36 [
37 "Created hero:",
38 {
39 "age": 48,
40 "id": 2,
41 "secret_name": "Tommy Sharp",
42 "team_id": 2,
43 "name": "Rusty-Man",
44 },
45 ],
46 [
47 "Created hero:",
48 {
49 "age": None,
50 "id": 3,
51 "secret_name": "Pedro Parqueador",
52 "team_id": None,
53 "name": "Spider-Boy",
54 },
55 ],
56 [
57 "Updated hero:",
58 {
59 "age": None,
60 "id": 3,
61 "secret_name": "Pedro Parqueador",
62 "team_id": 2,
63 "name": "Spider-Boy",
64 },
65 ],
66 [
67 "Team Wakaland:",
68 {"id": 3, "name": "Wakaland", "headquarters": "Wakaland Capital City"},
69 ],
70 [
71 "Preventers new hero:",
72 {
73 "age": 32,
74 "id": 6,
75 "secret_name": "Natalia Roman-on",
76 "team_id": 2,
77 "name": "Tarantula",
78 },
79 ],
80 [
81 "Preventers new hero:",
82 {
83 "age": 36,
84 "id": 7,
85 "secret_name": "Steve Weird",
86 "team_id": 2,
87 "name": "Dr. Weird",
88 },
89 ],
90 [
91 "Preventers new hero:",
92 {
93 "age": 93,
94 "id": 8,
95 "secret_name": "Esteban Rogelios",
96 "team_id": 2,
97 "name": "Captain North America",
98 },
99 ],
100 [
101 "Preventers heroes:",
102 [
103 {
104 "age": 48,
105 "id": 2,
106 "secret_name": "Tommy Sharp",
107 "team_id": 2,
108 "name": "Rusty-Man",
109 },
110 {
111 "age": None,
112 "id": 3,
113 "secret_name": "Pedro Parqueador",
114 "team_id": 2,
115 "name": "Spider-Boy",
116 },
117 {
118 "age": 32,
119 "id": 6,
120 "secret_name": "Natalia Roman-on",
121 "team_id": 2,
122 "name": "Tarantula",
123 },
124 {
125 "age": 36,
126 "id": 7,
127 "secret_name": "Steve Weird",
128 "team_id": 2,
129 "name": "Dr. Weird",
130 },
131 {
132 "age": 93,
133 "id": 8,
134 "secret_name": "Esteban Rogelios",
135 "team_id": 2,
136 "name": "Captain North America",
137 },
138 ],
139 ],
140 [
141 "Hero Spider-Boy:",
142 {
143 "age": None,
144 "id": 3,
145 "secret_name": "Pedro Parqueador",
146 "team_id": 2,
147 "name": "Spider-Boy",
148 },
149 ],
150 [
151 "Preventers Team:",
152 {"id": 2, "name": "Preventers", "headquarters": "Sharp Tower"},
153 ],
154 [
155 "Preventers Team Heroes:",
156 [
157 {
158 "age": 48,
159 "id": 2,
160 "secret_name": "Tommy Sharp",
161 "team_id": 2,
162 "name": "Rusty-Man",
163 },
164 {
165 "age": None,
166 "id": 3,
167 "secret_name": "Pedro Parqueador",
168 "team_id": 2,
169 "name": "Spider-Boy",
170 },
171 {
172 "age": 32,
173 "id": 6,
174 "secret_name": "Natalia Roman-on",
175 "team_id": 2,
176 "name": "Tarantula",
177 },
178 {
179 "age": 36,
180 "id": 7,
181 "secret_name": "Steve Weird",
182 "team_id": 2,
183 "name": "Dr. Weird",
184 },
185 {
186 "age": 93,
187 "id": 8,
188 "secret_name": "Esteban Rogelios",
189 "team_id": 2,
190 "name": "Captain North America",
191 },
192 ],
193 ],
194 [
195 "Spider-Boy without team:",
196 {
197 "age": None,
198 "id": 3,
199 "secret_name": "Pedro Parqueador",
200 "team_id": 2,
201 "name": "Spider-Boy",
202 },
203 ],
204 [
205 "Preventers Team Heroes again:",
206 [
207 {
208 "age": 48,
209 "id": 2,
210 "secret_name": "Tommy Sharp",
211 "team_id": 2,
212 "name": "Rusty-Man",
213 },
214 {
215 "age": 32,
216 "id": 6,
217 "secret_name": "Natalia Roman-on",
218 "team_id": 2,
219 "name": "Tarantula",
220 },
221 {
222 "age": 36,
223 "id": 7,
224 "secret_name": "Steve Weird",
225 "team_id": 2,
226 "name": "Dr. Weird",
227 },
228 {
229 "age": 93,
230 "id": 8,
231 "secret_name": "Esteban Rogelios",
232 "team_id": 2,
233 "name": "Captain North America",
234 },
235 ],
236 ],
237 ["After committing"],
238 [
239 "Spider-Boy after commit:",
240 {
241 "age": None,
242 "id": 3,
243 "secret_name": "Pedro Parqueador",
244 "team_id": None,
245 "name": "Spider-Boy",
246 },
247 ],
248 [
249 "Preventers Team Heroes after commit:",
250 [
251 {
252 "age": 48,
253 "id": 2,
254 "secret_name": "Tommy Sharp",
255 "team_id": 2,
256 "name": "Rusty-Man",
257 },
258 {
259 "age": 32,
260 "id": 6,
261 "secret_name": "Natalia Roman-on",
262 "team_id": 2,
263 "name": "Tarantula",
264 },
265 {
266 "age": 36,
267 "id": 7,
268 "secret_name": "Steve Weird",
269 "team_id": 2,
270 "name": "Dr. Weird",
271 },
272 {
273 "age": 93,
274 "id": 8,
275 "secret_name": "Esteban Rogelios",
276 "team_id": 2,
277 "name": "Captain North America",
278 },
279 ],
280 ],
281]
284def test_tutorial(print_mock: PrintMock, mod: ModuleType): 1abcdefgh
285 mod.main() 1ijklmnop
286 assert print_mock.calls == expected_calls 1ijklmnop