Пример #1
0
 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)
Пример #2
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)
Пример #3
0
 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()
Пример #4
0
    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"
                }]
            }]
        }
Пример #5
0
 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)
Пример #6
0
 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()
Пример #7
0
 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)
Пример #8
0
 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())
Пример #9
0
    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")()
Пример #10
0
    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
Пример #11
0
 def test_render(self):
     anne = objects.Female()
     anne.name = "Anne"
     print anne._get("name").render()
Пример #12
0
 def test_map(self):
     anne = objects.Female()
     anne._map(self.person)
     j = anne._json()
     del j["human_id"]
     self.assertEqual(j, self.person)
Пример #13
0
 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)
Пример #14
0
 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")