示例#1
0
 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()
示例#2
0
 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')
示例#3
0
 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()
示例#4
0
 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()
示例#5
0
 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')
示例#6
0
 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()
示例#7
0
 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()
示例#8
0
 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')
示例#9
0
 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)
示例#10
0
 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')
示例#11
0
 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')
示例#12
0
    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')
示例#13
0
 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))
示例#14
0
 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))
示例#15
0
 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')
示例#16
0
 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')
示例#17
0
 def __init__(self, **kwargs):
     self.path = kwargs['path']
     self.mode = kwargs['mode']
     self.db = Database(self.path, self.mode)
示例#18
0
文件: populate.py 项目: toxinu/sofart
    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)
示例#19
0
 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')
示例#20
0
 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')
示例#21
0
 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')
示例#22
0
 def test003_getcollection(self):
     d = Database(db_path, mode=mode, serializer=serializer)
     c = d.test
示例#23
0
 def setUp(self):
     self.d = Database(db_path, mode=mode, serializer=serializer)