reproduce RuntimeError

This commit is contained in:
emilecaron 2015-06-25 15:37:15 +00:00
parent c6151e34e0
commit e43fae86f1

View File

@ -1413,6 +1413,20 @@ class QuerySetTest(unittest.TestCase):
self.Person.objects(name='Test User').delete() self.Person.objects(name='Test User').delete()
self.assertEqual(1, BlogPost.objects.count()) self.assertEqual(1, BlogPost.objects.count())
def test_reverse_delete_rule_cascade_cycle(self):
"""Ensure reference cascading doesn't loop if reference graph isn't
a tree
"""
class Category(Document):
reference = ReferenceField('self', reverse_delete_rule=CASCADE)
base = Category().save()
other = Category(reference=base).save()
base.reference = other
base.save()
self.assertEqual(2, base.delete())
def test_reverse_delete_rule_cascade_self_referencing(self): def test_reverse_delete_rule_cascade_self_referencing(self):
"""Ensure self-referencing CASCADE deletes do not result in infinite """Ensure self-referencing CASCADE deletes do not result in infinite
loop loop