summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2009-11-03 04:30:18 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2009-11-03 04:30:18 +0000
commit659ca0c5088b2b6dcd66e33bb9aff79aaffc421a (patch)
tree1dd3acd20dede3e4068b1cc232904f1322ac1ef6
parente2ca4ebe58810c9f317370255a26cd6c706f60d9 (diff)
downloadsqlalchemy-659ca0c5088b2b6dcd66e33bb9aff79aaffc421a.tar.gz
added a test for #1349
-rw-r--r--test/orm/test_cascade.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/orm/test_cascade.py b/test/orm/test_cascade.py
index c523fb5f0..3b9481dae 100644
--- a/test/orm/test_cascade.py
+++ b/test/orm/test_cascade.py
@@ -743,6 +743,28 @@ class M2MCascadeTest(_base.MappedTest):
assert a.count().scalar() == 1
@testing.resolve_artifact_names
+ def test_delete_orphan_dynamic(self):
+ mapper(A, a, properties={
+ # if no backref here, delete-orphan failed until [ticket:427] was
+ # fixed
+ 'bs': relation(B, secondary=atob,
+ cascade="all, delete-orphan", single_parent=True,lazy="dynamic")
+ })
+ mapper(B, b)
+
+ sess = create_session()
+ b1 = B(data='b1')
+ a1 = A(data='a1', bs=[b1])
+ sess.add(a1)
+ sess.flush()
+
+ a1.bs.remove(b1)
+ sess.flush()
+ assert atob.count().scalar() ==0
+ assert b.count().scalar() == 0
+ assert a.count().scalar() == 1
+
+ @testing.resolve_artifact_names
def test_delete_orphan_cascades(self):
mapper(A, a, properties={
# if no backref here, delete-orphan failed until [ticket:427] was