def setUp(self): super(EmbeddedListTest, self).setUp() self.my_list = EmbeddedList("addresses", self.Address) self.owner = self.Owner() self.address1 = self.Address(street="123 Elm Street") self.address2 = self.Address(street="456 Pine Street") self.address3 = self.Address(street="789 Cedar Street")
def test_can_only_have_embedded_documents(self): class NotAnEmbeddedDoc(object): pass with self.assertRaises(TaviTypeError) as exc: EmbeddedList("addresses", NotAnEmbeddedDoc) msg = ("tavi.EmbeddedList only accepts " "tavi.document.EmbeddedDocument objects") self.assertEqual(msg, exc.exception.message)
def __get__(self, instance, owner): if self.attribute_name not in instance.__dict__: setattr(instance, self.attribute_name, EmbeddedList(self.name, self._type)) return getattr(instance, self.attribute_name)