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

Method _run_double_test

test/orm/test_subquery_relations.py:1196–1244  ·  view source on GitHub ↗
(self, no_items=False)

Source from the content-addressed store, hash-verified

1194 self._run_double_test()
1195
1196 def _run_double_test(self, no_items=False):
1197 User, Address, Order, Item = self.classes(
1198 "User", "Address", "Order", "Item"
1199 )
1200 q = fixture_session().query(User).order_by(User.id)
1201
1202 def items(*ids):
1203 if no_items:
1204 return {}
1205 else:
1206 return {"items": [Item(id=id_) for id_ in ids]}
1207
1208 def go():
1209 eq_(
1210 [
1211 User(
1212 id=7,
1213 addresses=[Address(id=1)],
1214 open_orders=[Order(id=3, **items(3, 4, 5))],
1215 closed_orders=[
1216 Order(id=1, **items(1, 2, 3)),
1217 Order(id=5, **items(5)),
1218 ],
1219 ),
1220 User(
1221 id=8,
1222 addresses=[
1223 Address(id=2),
1224 Address(id=3),
1225 Address(id=4),
1226 ],
1227 open_orders=[],
1228 closed_orders=[],
1229 ),
1230 User(
1231 id=9,
1232 addresses=[Address(id=5)],
1233 open_orders=[Order(id=4, **items(1, 5))],
1234 closed_orders=[Order(id=2, **items(1, 2, 3))],
1235 ),
1236 User(id=10),
1237 ],
1238 q.all(),
1239 )
1240
1241 if no_items:
1242 self.assert_sql_count(testing.db, go, 4)
1243 else:
1244 self.assert_sql_count(testing.db, go, 6)
1245
1246 @testing.combinations(
1247 ("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