def test004_addenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] post = {"artist": "Jambon", "music": "I love jambon"} c.save(post) if mode == "single": d.sync()
def test020_renameviadatabase(self): d = Database(db_path, mode=mode, serializer=serializer) d.rename('test19_', 'test19') c = d.test19 r = c.find_one({'test123': 123}) self.assertTrue(r, msg='Save lost after rename') self.assertEqual(c.name, 'test19', msg='Name not valid')
def test012_basicoperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test c.save({'value': 2, 'value2': 150}) r = c.find_one({'value': {'$gt': 1, '$lte': 2}}) self.assertTrue(r, msg='BasicOperand failed') r = c.find_one({ 'value': { '$gt': 1, '$lte': 2 }, 'value2': { '$gte': 150, '$lt': 2000 } }) self.assertTrue(r, msg='BasicOperand failed') r = c.find_one({ 'value': { '$gt': 3, '$lte': 2 }, 'value2': { '$gte': 150, '$lt': 2000 } }) self.assertFalse(r, msg='BasicOperand failed') if mode == "single": d.sync()
def test009_removeenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test r = c.find_one({"artist": "Jambon"})['_id'] c.remove(r) r = c.find_one({"artist": "Jambon"}) self.assertFalse(r, msg='Enreg not removed') d.sync() _db = _serializer.load()
def test002_new_collection(self): d = Database(db_path, mode=mode, serializer=serializer) d.test.save({'key': 'value'}) self.assertIn('test', d.collection_names(), msg='Collection not created') d.sync() _db = _serializer.load() self.assertFalse(_db['_infos']['total_entries'] > 1, msg='Ids index is not empty')
def test013_alloperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test c.save({'test013': [1, 2, 3]}) r = c.find_one({'test013': {"$all": [2, 3, 4]}}) self.assertFalse(r, msg='AllOperand failed') r = c.find_one({'test013': {"$all": [2, 3]}}) self.assertTrue(r, msg='AllOperand failed') if mode == "single": d.sync()
def test019_renameviacollection(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test19 c.save({'test123': 123}) c.rename('test19_') r = c.find_one({'test123': 123}) self.assertTrue(r, msg='Save lost after rename') self.assertEqual(c.name, 'test19_', msg='Name not valid') if mode == "single": d.sync()
def test016_neoperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] r = [i for i in c.find({'value': {"$ne": 2}})] self.assertFalse(r, msg='Modulo operand failed') r = [i for i in c.find({'value': {"$ne": 3}})] self.assertTrue(r, msg='Modulo operand failed')
def test007_nosensitive(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] regexp = re.compile("^JambON", re.IGNORECASE) r = c.find_one({"artist": regexp}) a = c.find() self.assertTrue(r, msg='Non-sensitive failed (%s)' % r)
def test021_drop(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test021 c.drop() self.assertFalse('test021' in d.collection_names(), msg='Nin operand failed') d.create_collection('test021') d.drop_collection('test021') self.assertFalse('test021' in d.collection_names(), msg='Nin operand failed')
def test015_modulooperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] r = [i for i in c.find({'value': {"$mod": [2, 0]}})] self.assertTrue(r, msg='Modulo operand failed') r = [i for i in c.find({'value2': {"$mod": [60, 30]}})] self.assertTrue(r, msg='Modulo operand failed') r = [i for i in c.find({'value2': {"$mod": [60, 25]}})] self.assertFalse(r, msg='Modulo operand failed')
def test001_newdb(self): print('=> %s::%s' % (mode, serializer)) d = Database(db_path, mode=mode, serializer=serializer) d.drop_collection('test') d.drop_collection('test2') self.assertNotIn('test', d.collection_names(), msg='Database not empty (drop failure)') self.assertNotIn('test2', d.collection_names(), msg='Database not empty (drop failure)') d.sync() _db = _serializer.load() self.assertNotIn('test', _db) self.assertNotIn('test2', _db) self.assertFalse(_db['_infos']['total_entries'] > 0, msg='Ids index is not empty')
def test010_countcollectionenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] post = {"artist": "Jambon", "music": "I love jambon"} c.save(post) c.save(post) self.assertEqual(len(c.entries), 3, msg='Data lose (%s)' % len(c.entries))
def test011_countdbenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test2 post = {"artist": "Jambon", "music": "I love jambon"} post2 = {"artist": "Jambon", "music": "I love jambon2"} c.save(post) c.save(post2) self.assertEqual(len(c.entries), 2, msg='Data lose (%s)' % len(c.entries))
def test014_existsoperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test r = [i for i in c.find({'test013': {"$exists": True}})] self.assertTrue(r, msg='ExistsOperand failed') r = [i for i in c.find({'test013': {"$exists": False}})] self.assertTrue(r, msg='ExistsOperand failed') r = [i for i in c.find({'test080123': {"$exists": True}})] self.assertFalse(r, msg='ExistsOperand failed') r = [i for i in c.find({'test080123': {"$exists": False}})] self.assertTrue(r, msg='ExistsOperand failed') r = c.find_one({'test013': {"$all": [2, 3, 4], "$exists": False}}) self.assertFalse(r, msg='ExistsOperand failed')
def test018_ninoperand(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] c.save({"test017": [1, 2, 5]}) r = [i for i in c.find({'test017': {'$nin': [1, 6, 9]}})] self.assertFalse(r, msg='Nin operand failed') r = [i for i in c.find({'test017': {'$nin': [1, 2, 9]}})] self.assertFalse(r, msg='Nin operand failed') r = [i for i in c.find({'test017': {'$nin': [6, 120, 9]}})] self.assertTrue(r, msg='Nin operand failed') c.save({"test017": 1}) r = [i for i in c.find({'test017': {'$nin': [1, 6, 9]}})] self.assertFalse(r, msg='Nin operand failed')
def __init__(self, **kwargs): self.path = kwargs['path'] self.mode = kwargs['mode'] self.db = Database(self.path, self.mode)
c = db[collection] for i in range(nb_entrie_per_collection): c.save(entrie) def worker(db): for i in range(nb_collection): db.create_collection(str(uuid.uuid4())) for i in db.collection_names(): populate_collection(db, i, entrie) if __name__ == "__main__": print(' :: Collections : %s' % nb_collection) print(' :: Entrie per collection : %s' % nb_entrie_per_collection) #print(' :: Entrie style :\n %s' % entrie) db = Database(path=db_path, mode=mode, serializer=serializer) start_time = time.time() worker(db) total_time = time.time() - start_time print(' :: Total in second : %s' % total_time) print(' :: Second per entrie : %s' % (total_time / (nb_collection * nb_entrie_per_collection))) total_entries = 0 for c in db.collection_names(): total_entries += db[c].count() print(' :: Total database entries : %s' % total_entries) # os.remove(db_path)
def test008_sensitive(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test r = c.find_one({"artist": "JamBOn"}) self.assertFalse(r, msg='Sensitive failed')
def test006_listnoenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d['test'] r = c.find_one({"artist": "Jambon22"}) self.assertFalse(r, msg='Enreg found')
def test005_listenreg(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test r = c.find_one() self.assertTrue(r, msg='Enreg not found')
def test003_getcollection(self): d = Database(db_path, mode=mode, serializer=serializer) c = d.test
def setUp(self): self.d = Database(db_path, mode=mode, serializer=serializer)