class BDBTest(unittest.TestCase): def setUp(self): self.path = os.path.join(tempfile.gettempdir(), "tmp_tc_test.tcb") self.db = BDB() self.db.open(self.path, BDBOWRITER | BDBOCREAT) def tearDown(self): self.db.close() os.remove(self.path) self.db = None
def test_copy(self): self.db[b"a"] = b"1" self.db[b"b"] = b"2" path = os.path.join(tempfile.gettempdir(), "tmp_tc_test2.tcb") self.db.copy(path) db = BDB() db.open(path, BDBOREADER) self.assertEqual(len(self.db), len(db)) self.assertEqual(self.db.size, db.size) db.close() os.remove(path)
def test_extended(self): class BDBFactory(TokyoCabinetFactory): dbcls = BDB flags = BDBOWRITER | BDBOCREAT methodname = 'addint' chunksize = 10 # very small proc = BDBFactory() self.assertEqual(proc('k1', [2]), None) self.assertEqual(proc('k2', [3, 6]), None) chunks = proc.close() fn = mkstemp()[1] fo = open(fn, 'wb') for chk in chunks: self.assertTrue(len(chk) <= 10) fo.write(chk) fo.close() db = BDB() db.open(fn, BDBOWRITER) self.assertEqual(len(db), 2) self.assertEqual(db.addint('k1', 0), 2) self.assertEqual(db.addint('k2', 0), 9) db.close() os.remove(fn)
def setUp(self): self.path = os.path.join(tempfile.gettempdir(), "tmp_tc_test.tcb") self.db = BDB() self.db.open(self.path, BDBOWRITER | BDBOCREAT)