MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_remove_orphans

Method test_remove_orphans

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

Source from the content-addressed store, hash-verified

1622
1623 @testing.combinations(True, False, argnames="cascade_deletes")
1624 def test_remove_orphans(
1625 self, passive_deletes_fixture, connection, cascade_deletes
1626 ):
1627 A, B = passive_deletes_fixture(True, cascade_deletes)
1628
1629 sess = fixture_session(bind=connection)
1630
1631 b1, b2, b3 = B(), B(), B()
1632 a1 = A(data="d1", bs=[b1, b2, b3])
1633 sess.add(a1)
1634 sess.commit()
1635
1636 eq_(sess.scalars(a1.bs.select()).all(), [b1, b2, b3])
1637
1638 a1.bs.remove(b2)
1639
1640 sess.commit()
1641
1642 eq_(sess.scalars(a1.bs.select()).all(), [b1, b3])
1643
1644 if cascade_deletes:
1645 eq_(sess.scalar(select(func.count()).select_from(B)), 2)
1646 else:
1647 eq_(sess.scalar(select(func.count()).select_from(B)), 3)
1648
1649
1650class 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