MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _run_double_test

Method _run_double_test

test/orm/test_eager_relations.py:1183–1228  ·  view source on GitHub ↗
(self, no_items=False)

Source from the content-addressed store, hash-verified

1181 self._run_double_test()
1182
1183 def _run_double_test(self, no_items=False):
1184 User, Address, Order, Item = self.classes(
1185 "User", "Address", "Order", "Item"
1186 )
1187 q = fixture_session().query(User).order_by(User.id)
1188
1189 def items(*ids):
1190 if no_items:
1191 return {}
1192 else:
1193 return {"items": [Item(id=id_) for id_ in ids]}
1194
1195 def go():
1196 eq_(
1197 [
1198 User(
1199 id=7,
1200 addresses=[Address(id=1)],
1201 open_orders=[Order(id=3, **items(3, 4, 5))],
1202 closed_orders=[
1203 Order(id=1, **items(1, 2, 3)),
1204 Order(id=5, **items(5)),
1205 ],
1206 ),
1207 User(
1208 id=8,
1209 addresses=[
1210 Address(id=2),
1211 Address(id=3),
1212 Address(id=4),
1213 ],
1214 open_orders=[],
1215 closed_orders=[],
1216 ),
1217 User(
1218 id=9,
1219 addresses=[Address(id=5)],
1220 open_orders=[Order(id=4, **items(1, 5))],
1221 closed_orders=[Order(id=2, **items(1, 2, 3))],
1222 ),
1223 User(id=10),
1224 ],
1225 q.all(),
1226 )
1227
1228 self.assert_sql_count(testing.db, go, 1)
1229
1230 @testing.combinations(
1231 ("plain",), ("cte", testing.requires.ctes), ("subquery",), id_="s"

Callers 3

test_double_w_acMethod · 0.95

Calls 4

fixture_sessionFunction · 0.90
assert_sql_countMethod · 0.80
order_byMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected