Ejemplo n.º 1
0
 def test_puts_basic_values(self):
     db = Database(self.engine, self.config)
     self.assertFalse(db.exists(r"key1"))
     db.put(r"key1", r"value1")
     self.assertTrue(db.exists(r"key1"))
     self.assertEqual(db.get_string(r"key1"), r"value1")
     db.stop()
Ejemplo n.º 2
0
 def test_removes_key_and_value(self):
     db = Database(self.engine, self.config)
     db.put(r"key1", r"value1")
     self.assertTrue(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), r"value1")
     self.assertTrue(db.remove(r"key1"))
     self.assertFalse(db.remove(r"key1"))
     self.assertFalse(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), None)
     db.stop()
Ejemplo n.º 3
0
 def test_removes_key_and_value(self):
     db = Database(self.engine, self.config)
     db.put(r"key1", r"value1")
     self.assertTrue(db.exists(r"key1"))
     self.assertEqual(db.get_string(r"key1"), r"value1")
     self.assertTrue(db.remove(r"key1"))
     self.assertFalse(db.remove(r"key1"))
     self.assertFalse(db.exists(r"key1"))
     with self.assertRaises(KeyError):
         db.get_string(r"key1")
     db.stop()
Ejemplo n.º 4
0
 def test_puts_multiple_values(self):
     db = Database(self.engine, self.config)
     db.put(r"key1", r"value1")
     db.put(r"key2", r"value2")
     db.put(r"key3", r"value3")
     self.assertTrue(db.exists(r"key1"))
     self.assertEqual(db.get_string(r"key1"), r"value1")
     self.assertTrue(db.exists(r"key2"))
     self.assertEqual(db.get_string(r"key2"), r"value2")
     self.assertTrue(db.exists(r"key3"))
     self.assertEqual(db.get_string(r"key3"), r"value3")
     db.stop()
Ejemplo n.º 5
0
 def test_puts_empty_key(self):
     db = Database(self.engine, self.config)
     db.put(r"", r"empty")
     db.put(r" ", r"single-space")
     db.put(r"\t\t", r"two-tab")
     self.assertTrue(db.exists(r""))
     self.assertEqual(db.get_string(r""), r"empty")
     self.assertTrue(db.exists(r" "))
     self.assertEqual(db.get_string(r" "), r"single-space")
     self.assertTrue(db.exists(r"\t\t"))
     self.assertEqual(db.get_string(r"\t\t"), r"two-tab")
     db.stop()
Ejemplo n.º 6
0
 def test_blackhole_engine(self):
     db = Database(r"blackhole", self.config)
     self.assertEqual(db.count_all(), 0)
     self.assertFalse(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), None)
     db.put(r"key1", r"value123")
     self.assertEqual(db.count_all(), 0)
     self.assertFalse(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), None)
     self.assertTrue(db.remove(r"key1"))
     self.assertFalse(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), None)
     db.stop()
Ejemplo n.º 7
0
 def test_blackhole_engine(self):
     db = Database(r"blackhole", self.config)
     self.assertEqual(db.count_all(), 0)
     self.assertFalse(db.exists(r"key1"))
     with self.assertRaises(KeyError):
         db.get_string(r"key1")
     db.put(r"key1", r"value123")
     self.assertEqual(db.count_all(), 0)
     self.assertFalse(db.exists(r"key1"))
     with self.assertRaises(KeyError):
         db.get_string(r"key1")
     self.assertTrue(db.remove(r"key1"))
     self.assertFalse(db.exists(r"key1"))
     with self.assertRaises(KeyError):
         db.get_string(r"key1")
     db.stop()
Ejemplo n.º 8
0
 def test_puts_utf8_key(self):
     db = Database(self.engine, self.config)
     val = r"to remember, note, record"
     db.put(r"记", val)
     self.assertTrue(db.exists(r"记"))
     self.assertEqual(db.get_string(r"记"), val)
     db.stop()
Ejemplo n.º 9
0
def test_engine(engine, value):
    global count, path, failures

    print("\nTesting " + engine + " engine for " + str(count) +
          " keys, value size is " + str(len(value)) + "...")
    if os.path.isfile(path):
        os.remove(path)

    db = Database(
        engine, '{"path": \"' + str(path) +
        '\", "size": 1073741824, "force_create": 1}')
    print("Put (sequential series)")
    t1 = time.time()
    for i in range(0, count):
        db.put(str(i), value)
    print("   in " + str(time.time() - t1) + " sec(s)")

    print("Get (sequential series)")
    failures = 0
    t1 = time.time()
    for i in range(0, count):
        if db.get(str(i)) == None:
            failures += 1
    print("   in " + str(time.time() - t1) + " sec(s), failures=" +
          str(failures))

    print("Exists (sequential series)")
    failures = 0
    t1 = time.time()
    for i in range(0, count):
        if not db.exists(str(i)):
            failures += 1
    print("   in " + str(time.time() - t1) + " sec(s), failures=" +
          str(failures))

    print("All (one pass)")
    failures = count
    t1 = time.time()
    db.get_keys(func)
    print("   in " + str(time.time() - t1) + " sec(s), failures=" +
          str(failures))

    print("Each (one pass)")
    failures = count
    t1 = time.time()
    db.get_all(func)
    print("   in " + str(time.time() - t1) + " sec(s), failures=" +
          str(failures))

    db.stop()
Ejemplo n.º 10
0
 def test_gets_missing_key(self):
     db = Database(self.engine, self.config)
     self.assertFalse(db.exists(r"key1"))
     with self.assertRaises(KeyError):
         db.get_string(r"key1")
     db.stop()
Ejemplo n.º 11
0
 def test_puts_binary_keys(self):
     db = Database(self.engine, self.config)
     db.put("A\0B\0\0C", r"value1")
     self.assertTrue(db.exists("A\0B\0\0C"))
     self.assertEqual(db.get_string("A\0B\0\0C"), r"value1")
     db.stop()
Ejemplo n.º 12
0
 def test_gets_missing_key(self):
     db = Database(self.engine, self.config)
     self.assertFalse(db.exists(r"key1"))
     self.assertEqual(db.get(r"key1"), None)
     db.stop()