def run(txn): tablename = User.tablename() args = {'first_name': "test", "last_name": "foo", "age": 91} objid = self.dbconfig.insert(tablename, args, txn) users = self.dbconfig._doselect(txn, "select * from %s" % User.tablename(), [], User.tablename()) self.assertEqual(len(users), 2) self.assertEqual(users[1]['id'], objid) for key, value in args.items(): self.assertEqual(value, users[1][key])
def test_update(self): tablename = User.tablename() user = yield User(first_name="Another First").save() args = {'first_name': "test", "last_name": "foo", "age": 91} yield self.dbconfig.update(tablename, args, ['id = ?', user.id]) yield user.refresh() for key, value in args.items(): self.assertEqual(value, getattr(user, key))
def test_delete(self): tablename = User.tablename() yield User(first_name="Another First").save() yield self.dbconfig.delete(tablename, ['first_name like ?', "%nother Fir%"]) result = yield self.dbconfig.select(tablename) self.assertEqual(len(result), 1) self.assertTrue(result[0]['id'] == self.user.id)
def test_select_id(self): tablename = User.tablename() result = yield self.dbconfig.select(tablename, self.user.id, where=None, limit=1, orderby="first_name ASC") self.assertTrue(result is not None) where = ['first_name = ?', "DNE"] result = yield self.dbconfig.select(tablename, self.user.id, where=where, limit=1, orderby="first_name ASC") self.assertTrue(result is None)
def test_insert(self): tablename = User.tablename() args = {'first_name': "test", "last_name": "foo", "age": 91} id = yield self.dbconfig.insert(tablename, args) where = ['first_name = ? AND last_name = ? AND age = ?'] where = where + ["test", "foo", 91] users = yield User.find(where=where) self.assertEqual(len(users), 1) self.assertEqual(users[0].id, id) for key, value in args.items(): self.assertEqual(value, getattr(users[0], key))
def test_select(self): # make a fake user user = yield User(first_name="Another First").save() tablename = User.tablename() where = ['first_name = ?', "First"] result = yield self.dbconfig.select(tablename, where=where, limit=1, orderby="first_name ASC") self.assertTrue(result is not None) self.assertEqual(result['id'], self.user.id) result = yield self.dbconfig.select(tablename, limit=100, orderby="first_name ASC") self.assertEqual(len(result), 2) self.assertTrue(result[0]['id'] == user.id and result[1]['id'] == self.user.id)
def test_insert_many(self): tablename = User.tablename() args = [] for counter in range(10): args.append({'first_name': "test_insert_many", "last_name": "foo", "age": counter}) yield self.dbconfig.insertMany(tablename, args) users = yield User.find(where=['first_name = ?', "test_insert_many"], orderby="age ASC") for counter in range(10): for key, value in args[counter].items(): self.assertEqual(value, getattr(users[counter], key))