def test_list_delete(self): person = self.obj self.job.locations.append(self.loc) person.jobs.append(self.job) person.save() id = person._id p2 = objects.Female(id=id) self.assertEqual(p2.jobs[0]._json(), self.person.get('jobs')[0]) p2.jobs.delete('jobs', 0) p3 = objects.Female(id=id) self.assertEqual(len(p3.jobs), 0)
def test_lazy(self): human = objects.Female(id=self.human_id) ids = [] for c in human.cars().sort('_id'): ids.append(c._id) self.assertEqual(self.car_ids, ids)
def setUp(self): self.name = "Anne" self.genitalia = "inny" self.obj = objects.Female() self.job = objects.Job() self.loca = objects.LocationGeo() self.location = objects.Location()
def setUp(self): self.job = objects.Job() self.job.employer = "Nike" self.job.title = "Designer" self.loc = objects.Location() self.loc.city = "Portland" self.loc.state = "OR" self.obj = objects.Female() self.obj.name = "Anne" self.obj.age = 27 self.obj.height = 65 self.obj.weight = 120 self.person = { "name": u"Anne", "age": 27, "height": 65.0, "weight": 120.0, "genitalia": u"inny", "jobs": [{ "employer": u"Nike", "title": u"Designer", "locations": [{ "city": u"Portland", "state": u"OR" }] }] }
def test_autoincrement(self): last_val = conn["auto_increment"]["human"].find_one({"field":"human_id"}, fields={"val":True}) last_val = last_val["val"] if last_val else 0 self.obj.name = self.name _id = self.obj.save() obj = objects.Female(id=_id) new_val = last_val+1 self.assertEqual(obj.human_id, new_val) n = "%s%s" % (self.name, new_val) obj.name = n try: obj.save() except Exception as e: print e n_obj = objects.Female(id=_id) self.assertEqual(n_obj.human_id, new_val) self.assertEqual(n_obj.name, n)
def test_multiple_select(self): anne = objects.Female() anne.name = "Anne" anne.jobs.append(objects.Job()) anne.jobs.append(objects.Job()) def yo(obj): for i in obj: return {"value":i.title, "display":i.employer} print widget.MultipleSelect(object=anne.jobs, item_render=yo).render()
def setUp(self): self.ids = [] self.genitalia = "inny" for i in xrange(5): obj = objects.Female() obj.name = "Anne%s" % i j = objects.Job() j.title = "President" obj.jobs.append(j) obj.save() self.ids.append(obj._id)
def setUp(self): self.obj = objects.Female() self.obj.name = "Anne" self.obj.age = 27 self.obj.height = 65 self.obj.weight = 120 self.human_id = self.obj.save() self.car_ids = [] for i in xrange(3): car = objects.Car() car.owner = self.human_id car.make = "Toyota" car.model = "Camry" car.year = datetime.datetime(2010 + i, 1, 1) self.car_ids.append(car.save())
def test_dynamic_document(self): self.obj.name = self.name _id = self.obj.save() scion = objects.Scion() scion.any_owner = self.obj s_id = scion.save() n_scion = objects.Scion(id=s_id) p = n_scion._get("any_owner")() self.assertEqual(p._id, _id) car3 = objects.Scion() car3.any_owner = objects.Female() with self.assertRaises(orm.DocumentException) as cm: car3.save() print cm.exception.errors with self.assertRaises(Exception) as cm: car3._get("any_owner")()
def test_document_id(self): self.obj.name = self.name car = objects.Scion() car.owner = self.obj with self.assertRaises(FieldException) as cm: car._get("owner")().name h_id = self.obj.save() car = objects.Scion() car.owner = self.obj _id = car.save() car2 = objects.Scion(id=_id) human = car2._get("owner")() self.assertEqual(human._id, h_id) car3 = objects.Scion() car3.owner = objects.Female() with self.assertRaises(orm.DocumentException) as cm: car3.save() print cm.exception.errors
def test_render(self): anne = objects.Female() anne.name = "Anne" print anne._get("name").render()
def test_map(self): anne = objects.Female() anne._map(self.person) j = anne._json() del j["human_id"] self.assertEqual(j, self.person)
def test_remove(self): obj = objects.Female(id=self.ids[0]) obj.remove() obj2 = objects.Female.find_one({"_id": self.ids[0]}) self.assertEqual(obj2, None)
def test_update(self): obj = objects.Female(id=self.ids[0]) obj.update({"$set": {"name": "Woop"}}) obj2 = objects.Female(id=self.ids[0]) self.assertEqual(obj2.name, "Woop")