def test_find_gt_ge_lt_le(self): mongo = self.new_db() table = "test_find_gt_ge_lt_le" count = 200 users = [] for _ in range(count): name = random_str(5) age = random.randint(0, 100) user = {"name": name, "age": age} users.append(user) mongo.add_one(table, user) users_gt_50 = mongo.find_many(table, {"age": MongoDB.gt(50)}) for user in users_gt_50: self.assertGreater(user["age"], 50) users_ge_50 = mongo.find_many(table, {"age": MongoDB.ge(50)}) for user in users_ge_50: self.assertGreaterEqual(user["age"], 50) users_lt_50 = mongo.find_many(table, {"age": MongoDB.lt(50)}) for user in users_lt_50: self.assertLess(user["age"], 50) users_le_50 = mongo.find_many(table, {"age": MongoDB.le(50)}) for user in users_le_50: self.assertLessEqual(user["age"], 50) mongo.delete_table(table) mongo.close()
def test_insert_find_remove(self): mongo = self.new_db() table = "test_insert" for _ in range(50): name = random_str(5) age = random.randint(0, 100) mongo.add_one(table, { "name": name, "age": age}) user = mongo.find_one(table, { "name": name}) self.assertEqual(user["name"], name) name = random_str(5) age = 20 mongo.add_one(table, { "name": name, "age": age}) users = mongo.find_many(table, {"age": age}) self.assertGreater(len(users), 0) least = 10 users = mongo.find_many(table, {"age": MongoDB.gt(least)}) for user in users: self.assertGreater(user["age"], least) mongo.delete_table(table) mongo.close()
def test_connect_twice(self): mongo = MongoDB() mongo.connect() with self.assertRaises(DatabaseError): mongo.connect() mongo.close()
def test_is_open(self): mongo = MongoDB() self.assertFalse(mongo.is_open) mongo.connect() self.assertTrue(mongo.is_open) mongo.close()
def test_create_db(self): mongo = MongoDB() mongo.connect() with self.assertRaises(DatabaseWarning): mongo.create_db("some_db") mongo.close()
def new_db(self): mongo = MongoDB() mongo.connect(db=TEST_DB) return mongo
def get_bd(self): mongo = MongoDB() mongo.connect(db=TEST_DB) return BigDict(mongo)
def get_priority_queue(self, maxsize=0): mongo = MongoDB() mongo.connect(db=TEST_DB) q = BigPriorityQueue(mongo, maxsize=maxsize) q.clear() return q