MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_joins

Method test_joins

test/orm/inheritance/test_basic.py:2385–2425  ·  test/orm/inheritance/test_basic.py::SyncCompileTest.test_joins
(self, j1, j2)

Source from the content-addressed store, hash-verified

2383 argnames=class="st">"j2",
2384 )
2385 def test_joins(self, j1, j2):
2386 _a_table, _b_table, _c_table = self.tables(class="st">"a", class="st">"b", class="st">"c")
2387 j1 = testing.resolve_lambda(j1, **locals())
2388 j2 = testing.resolve_lambda(j2, **locals())
2389
2390 class A:
2391 def __init__(self, **kwargs):
2392 for key, value in list(kwargs.items()):
2393 setattr(self, key, value)
2394
2395 class B(A):
2396 pass
2397
2398 class C(B):
2399 pass
2400
2401 self.mapper_registry.map_imperatively(A, _a_table)
2402 self.mapper_registry.map_imperatively(
2403 B, _b_table, inherits=A, inherit_condition=j1
2404 )
2405 self.mapper_registry.map_imperatively(
2406 C, _c_table, inherits=B, inherit_condition=j2
2407 )
2408
2409 session = fixture_session()
2410
2411 a = A(data1=class="st">"a1")
2412 session.add(a)
2413
2414 b = B(data1=class="st">"b1", data2=class="st">"b2")
2415 session.add(b)
2416
2417 c = C(data1=class="st">"c1", data2=class="st">"c2", data3=class="st">"c3")
2418 session.add(c)
2419
2420 session.flush()
2421 session.expunge_all()
2422
2423 assert len(session.query(A).all()) == 3
2424 assert len(session.query(B).all()) == 2
2425 assert len(session.query(C).all()) == 1
2426
2427
2428class OverrideColKeyTest(fixtures.MappedTest):

Callers

nothing calls this directly

Calls 11

fixture_sessionFunction · 0.90
localsFunction · 0.85
map_imperativelyMethod · 0.80
AClass · 0.70
BClass · 0.70
CClass · 0.70
addMethod · 0.45
flushMethod · 0.45
expunge_allMethod · 0.45
allMethod · 0.45
queryMethod · 0.45

Tested by

no test coverage detected