From 158578a406090eb0b9d297c895b04973b0e1fc94 Mon Sep 17 00:00:00 2001 From: tprimozi Date: Mon, 3 Mar 2014 15:10:35 +0000 Subject: [PATCH] Added test that fails due to weakref _instance bug. --- tests/document/validation.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/document/validation.py b/tests/document/validation.py index d3f3fd70..573c2e57 100644 --- a/tests/document/validation.py +++ b/tests/document/validation.py @@ -141,6 +141,30 @@ class ValidatorErrorTest(unittest.TestCase): self.assertEqual(e.to_dict(), { "e": {'val': 'OK could not be converted to int'}}) + def test_embedded_weakref(self): + + class SubDoc(EmbeddedDocument): + val = IntField(required=True) + + class Doc(Document): + e = EmbeddedDocumentField(SubDoc, db_field='eb') + + Doc.drop_collection() + + d1 = Doc() + d2 = Doc() + + s = SubDoc() + + self.assertRaises(ValidationError, lambda: s.validate()) + + d1.e = s + d2.e = s + + del d1 + + self.assertRaises(ValidationError, lambda: d2.validate()) + if __name__ == '__main__': unittest.main()