(
self, passive_deletes_fixture, connection, cascade_deletes
)
| 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 | |
| 1699 | class WriteOnlyBulkTest( |
nothing calls this directly
no test coverage detected