MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / threeway_fixture

Method threeway_fixture

test/orm/test_mapper.py:3380–3412  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3378
3379 @testing.fixture
3380 def threeway_fixture(self):
3381 reg1 = registry()
3382 reg2 = registry()
3383 reg3 = registry()
3384
3385 ab = bc = True
3386
3387 @reg1.mapped
3388 class A:
3389 __tablename__ = "a"
3390 id = Column(Integer, primary_key=True)
3391
3392 @reg2.mapped
3393 class B:
3394 __tablename__ = "b"
3395 id = Column(Integer, primary_key=True)
3396 a_id = Column(ForeignKey(A.id))
3397
3398 @reg3.mapped
3399 class C:
3400 __tablename__ = "c"
3401 id = Column(Integer, primary_key=True)
3402 b_id = Column(ForeignKey(B.id))
3403
3404 if ab:
3405 A.__mapper__.add_property("b", relationship(B))
3406
3407 if bc:
3408 B.__mapper__.add_property("c", relationship(C))
3409
3410 yield reg1, reg2, reg3
3411
3412 clear_mappers()
3413
3414 @testing.fixture
3415 def threeway_configured_fixture(self, threeway_fixture):

Callers

nothing calls this directly

Calls 4

registryClass · 0.90
relationshipFunction · 0.90
clear_mappersFunction · 0.90
add_propertyMethod · 0.80

Tested by

no test coverage detected