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