Exemple #1
0
 def _create_models(self, db, count=5):
     mdls = []
     for i in range(count):
         m = models.SimpleModel({"title": str(i / 2 + i % 2), "secret": str(i)})
         yield m.save(db)
         mdls.append(m)
     raise gen.Return(mdls)
Exemple #2
0
 def test_remove_query(self):
     for i in range(3):
         sm = models.SimpleModel(dict(title=str(i)))
         yield sm.save(self.db)
     yield models.SimpleModel.objects.set_db(self.db).remove(
         {"title": {"$in": ['0', '1']}})
     sm_db = yield models.SimpleModel.objects.set_db(self.db).all()
     self.assertEqual(len(sm_db), 1)
     self.assertEqual(sm.pk, sm_db[0].pk)
Exemple #3
0
 def test_generic_all(self):
     # create models
     sm = models.SimpleModel({"title": "Test model", "secret": 'abbcc123'})
     yield sm.save(self.db)
     t1 = models.Transaction(dict(title="yandex", item=sm))
     yield t1.save(self.db)
     um = models.User(dict(name="Igor", age=15))
     yield um.save(self.db)
     t2 = models.Transaction(dict(title="webmoney", item=um))
     yield t2.save(self.db)
     # get them from db
     tns = yield models.Transaction.objects.set_db(self.db).all()
     tns.sort(key=lambda x: x.title)
     t1_db = tns[1]
     t2_db = tns[0]
     self.assertEqual(t1_db.title, t1.title)
     self.assertEqual(t1_db.item, sm.pk)
     self.assertEqual(t2_db.title, t2.title)
     self.assertEqual(t2_db.item, um.pk)
     # it is possible to save object, got from database
     yield t1_db.save(self.db)
Exemple #4
0
 def test_generic_model_save_and_get(self):
     # store models.SimpleModel in generic ref field
     sm = models.SimpleModel({"title": "Test model", "secret": 'abbcc123'})
     yield sm.save(self.db)
     t = models.Transaction(dict(title="yandex", item=sm))
     yield t.save(self.db)
     t_from_db = yield models.Transaction.objects.set_db(self.db).get({"id": t.pk})
     self.assertEqual(t_from_db.item, sm.pk)
     # try to save object, got from database
     t_from_db.title = "webmoney"
     yield t_from_db.save(self.db)
     t_from_db_1 = yield models.Transaction.objects.set_db(self.db).get({"id": t.pk})
     self.assertEqual(t_from_db_1.title, "webmoney")
     self.assertEqual(t_from_db_1.item, sm.pk)
     # replace value of generic ref field with another model class
     um = models.User(dict(name="Igor", age=15))
     yield um.save(self.db)
     t_from_db_1.item = um
     yield t_from_db_1.save(self.db)
     t_from_db_2 = yield models.Transaction.objects.set_db(self.db).get({"id": t.pk})
     self.assertEqual(t_from_db_2.pk, t.pk)
     self.assertEqual(t_from_db_2.item, um.pk)
Exemple #5
0
 def test_get_by_pk(self):
     m = models.SimpleModel()
     yield m.save(self.db)
     m_from_db = yield models.SimpleModel.objects.set_db(self.db).get({"pk": m.pk})
     self.assertEqual(m.pk, m_from_db.pk)
Exemple #6
0
 def test_remove_single_object(self):
     sm = models.SimpleModel()
     yield sm.save(self.db)
     yield sm.remove(self.db)
     sm_db = yield models.SimpleModel.objects.set_db(self.db).all()
     self.assertEqual(len(sm_db), 0)
Exemple #7
0
 def test_save_and_get(self):
     secret = 'abbcc123'
     m = models.SimpleModel({"title": "Test model", "secret": secret})
     yield m.save(self.db)
     m_from_db = yield models.SimpleModel.objects.set_db(self.db).get({"title": "Test model"})
     self.assertEqual(m.secret, m_from_db.secret)