MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_remove_orphans

Method test_remove_orphans

test/orm/test_dynamic.py:1673–1696  ·  view source on GitHub ↗
(
        self, passive_deletes_fixture, connection, cascade_deletes
    )

Source from the content-addressed store, hash-verified

1671
1672 @testing.combinations(True, False, argnames="cascade_deletes")
1673 def test_remove_orphans(
1674 self, passive_deletes_fixture, connection, cascade_deletes
1675 ):
1676 A, B = passive_deletes_fixture(True, cascade_deletes)
1677
1678 sess = fixture_session(bind=connection)
1679
1680 b1, b2, b3 = B(), B(), B()
1681 a1 = A(data="d1", bs=[b1, b2, b3])
1682 sess.add(a1)
1683 sess.commit()
1684
1685 eq_(sess.scalars(a1.bs.select()).all(), [b1, b2, b3])
1686
1687 a1.bs.remove(b2)
1688
1689 sess.commit()
1690
1691 eq_(sess.scalars(a1.bs.select()).all(), [b1, b3])
1692
1693 if cascade_deletes:
1694 eq_(sess.scalar(select(func.count()).select_from(B)), 2)
1695 else:
1696 eq_(sess.scalar(select(func.count()).select_from(B)), 3)
1697
1698
1699class WriteOnlyBulkTest(

Callers

nothing calls this directly

Calls 14

fixture_sessionFunction · 0.90
eq_Function · 0.90
selectFunction · 0.90
BClass · 0.70
AClass · 0.70
addMethod · 0.45
commitMethod · 0.45
allMethod · 0.45
scalarsMethod · 0.45
selectMethod · 0.45
removeMethod · 0.45
scalarMethod · 0.45

Tested by

no test coverage detected