class TestDbmStore(unittest.TestCase): def setUp(self): self.store = Shove('dbm://test.dbm', compress=True) def tearDown(self): self.store.close() os.remove('test.dbm') def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store['pow'], 8) def test_update(self): tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestHDF5Store(unittest2.TestCase): def setUp(self): from shove import Shove self.store = Shove('hdf5://test.hdf5/test') def tearDown(self): import os self.store.close() try: os.remove('test.hdf5') except OSError: pass def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.setdefault('bow', 8) self.assertEqual(self.store['bow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestSvnStore(unittest.TestCase): svnstring = 'SVN test string here' def setUp(self): from shove import Shove self.store = Shove(self.svnstring, compress=True) def tearDown(self): self.store.clear() self.store.close() def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.store.sync() tstore.sync() self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(len(self.store), 2) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() item = self.store.popitem() self.store.sync() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.store.sync() self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.sync() self.store.update(tstore) self.store.sync() self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestCassandraStore(unittest.TestCase): def setUp(self): from shove import Shove from pycassa.system_manager import SystemManager system_manager = SystemManager('localhost:9160') try: system_manager.create_column_family('Foo', 'shove') except: pass self.store = Shove('cassandra://localhost:9160/Foo/shove') def tearDown(self): self.store.clear() self.store.close() from pycassa.system_manager import SystemManager system_manager = SystemManager('localhost:9160') system_manager.drop_column_family('Foo', 'shove') def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) # def test_clear(self): # self.store['max'] = 3 # self.store['min'] = 6 # self.store['pow'] = 7 # self.store.clear() # self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) # def test_popitem(self): # self.store['max'] = 3 # self.store['min'] = 6 # self.store['pow'] = 7 # item = self.store.popitem() # self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 # self.store['pow'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store.setdefault('pow', 8), 8) self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestDurusStore(unittest.TestCase): def setUp(self): from shove import Shove self.store = Shove('durus://test.durus', compress=True) def tearDown(self): import os self.store.close() os.remove('test.durus') def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestFtpStore(unittest.TestCase): ftpstring = "put ftp string here" def setUp(self): self.store = Shove(self.ftpstring, compress=True) def tearDown(self): self.store.clear() self.store.close() def test__getitem__(self): self.store["max"] = 3 self.store.sync() self.assertEqual(self.store["max"], 3) def test__setitem__(self): self.store["max"] = 3 self.store.sync() self.assertEqual(self.store["max"], 3) def test__delitem__(self): self.store["max"] = 3 del self.store["max"] self.assertEqual("max" in self.store, False) def test_get(self): self.store["max"] = 3 self.store.sync() self.assertEqual(self.store.get("min"), None) def test__cmp__(self): tstore = Shove() self.store["max"] = 3 tstore["max"] = 3 self.store.sync() tstore.sync() self.assertEqual(self.store, tstore) def test__len__(self): self.store["max"] = 3 self.store["min"] = 6 self.store.sync() self.assertEqual(len(self.store), 2) def test_clear(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = list(self.store.items()) self.assertEqual(("min", 6) in slist, True) def test_iteritems(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = list(self.store.iteritems()) self.assertEqual(("min", 6) in slist, True) def test_iterkeys(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = list(self.store.iterkeys()) self.assertEqual("min" in slist, True) def test_itervalues(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store["max"] = 3 self.store["min"] = 6 self.store.sync() item = self.store.pop("min") self.assertEqual(item, 6) def test_popitem(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() item = self.store.popitem() self.store.sync() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store["max"] = 3 self.store["min"] = 6 self.store["powl"] = 7 self.store.setdefault("pow", 8) self.store.sync() self.assertEqual(self.store["pow"], 8) def test_update(self): tstore = Shove() tstore["max"] = 3 tstore["min"] = 6 tstore["pow"] = 7 self.store["max"] = 2 self.store["min"] = 3 self.store["pow"] = 7 self.store.sync() self.store.update(tstore) self.store.sync() self.assertEqual(self.store["min"], 6) def test_values(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.sync() slist = self.store.keys() self.assertEqual("min" in slist, True)
class TestFileStore(unittest.TestCase): def setUp(self): self.store = Shove('file://test', compress=True) def tearDown(self): self.store.close() for x in os.listdir('test'): os.remove(os.path.join('test', x)) os.rmdir('test') def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.store.sync() tstore.sync() self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store['pow'], 8) def test_update(self): tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class Store(object): def setUp(self): from shove import Shove self.store = Shove( self.initstring, optimize=False, compress=True, sync=0, ) def tearDown(self): self.store.close() def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store['d'] = {'A': 1}, {'A': 1} self.store['d'] = {'AA': 1}, {'A': 1} self.store['d'] = {'AA': 1}, {'AA': 1} self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 self.store.sync() del self.store['max'] self.store.sync() self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 self.store.sync() tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(len(self.store), 2) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(items(self.store)) self.assertEqual(('min', 6) in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(keys(self.store)) self.assertEqual('min' in slist, True) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(values(self.store)) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() item = self.store.pop('min') self.store.sync() self.assertEqual(item, 6) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(self.store.setdefault('pow', 8), 8) self.store.sync() self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.store.sync() self.assertEqual(self.store['min'], 6) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() self.store.clear() self.store.sync() self.assertEqual(len(self.store), 0) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() item = self.store.popitem() self.store.sync() self.assertEqual(len(item) + len(self.store), 4) def test_close(self): self.store.close() self.assertEqual(self.store._store, None) self.assertEqual(self.store._buffer, None) self.assertEqual(self.store._cache, None)
class TestZodbStore(unittest.TestCase): init = "zodb://test.db" def setUp(self): from shove import Shove self.store = Shove(self.init, compress=True) def tearDown(self): self.store.close() import os os.remove("test.db") os.remove("test.db.index") os.remove("test.db.tmp") os.remove("test.db.lock") def test__getitem__(self): self.store["max"] = 3 self.assertEqual(self.store["max"], 3) def test__setitem__(self): self.store["max"] = 3 self.assertEqual(self.store["max"], 3) def test__delitem__(self): self.store["max"] = 3 del self.store["max"] self.assertEqual("max" in self.store, False) def test_get(self): self.store["max"] = 3 self.assertEqual(self.store.get("min"), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store["max"] = 3 tstore["max"] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store["max"] = 3 self.store["min"] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = list(self.store.items()) self.assertEqual(("min", 6) in slist, True) def test_iteritems(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = list(self.store.iteritems()) self.assertEqual(("min", 6) in slist, True) def test_iterkeys(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = list(self.store.iterkeys()) self.assertEqual("min" in slist, True) def test_itervalues(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store["max"] = 3 self.store["min"] = 6 item = self.store.pop("min") self.assertEqual(item, 6) def test_popitem(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store["max"] = 3 self.store["min"] = 6 self.store["powl"] = 7 self.store.setdefault("pow", 8) self.assertEqual(self.store["pow"], 8) def test_update(self): from shove import Shove tstore = Shove() tstore["max"] = 3 tstore["min"] = 6 tstore["pow"] = 7 self.store["max"] = 2 self.store["min"] = 3 self.store["pow"] = 7 self.store.update(tstore) self.assertEqual(self.store["min"], 6) def test_values(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store["max"] = 3 self.store["min"] = 6 self.store["pow"] = 7 slist = self.store.keys() self.assertEqual("min" in slist, True)
class TestS3Store(unittest.TestCase): s3string = 's3 test string here' def setUp(self): self.store = Shove(self.s3string, compress=True) def tearDown(self): self.store.clear() self.store.close() def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.store.sync() tstore.sync() self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(len(self.store), 2) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() item = self.store.popitem() self.store.sync() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.store.sync() self.assertEqual(self.store['pow'], 8) def test_update(self): tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.sync() self.store.update(tstore) self.store.sync() self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestLevelDBStore(unittest2.TestCase): def setUp(self): from shove import Shove self.store = Shove('leveldb://test', compress=True) def tearDown(self): import shutil shutil.rmtree('test') def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.setdefault('bow', 8) self.assertEqual(self.store['bow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestRedisStore(unittest.TestCase): def setUp(self): from shove import Shove self.store = Shove('redis://localhost:6379/0') def tearDown(self): self.store.clear() self.store.close() def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store.setdefault('pow', 8), 8) self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class TestRedisStore(unittest.TestCase): def setUp(self): self.store = Shove('redis://localhost:6379/0') def tearDown(self): self.store.clear() self.store.close() def test__getitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.assertEqual(self.store.get('min'), None) def test__cmp__(self): tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store.setdefault('pow', 8), 8) self.assertEqual(self.store['pow'], 8) def test_update(self): tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)
class Store(object): def setUp(self): from shove import Shove self.store = Shove( self.initstring, sync=0 ) def tearDown(self): self.store.close() def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store['d'] = {'A': 1}, {'A': 1} self.store['d'] = {'AA': 1}, {'A': 1} self.store['d'] = {'AA': 1}, {'AA': 1} self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 self.store.sync() del self.store['max'] self.store.sync() self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 self.store.sync() tstore['max'] = 3 self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(len(self.store), 2) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(items(self.store)) self.assertEqual(('min', 6) in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(keys(self.store)) self.assertEqual('min' in slist, True) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() slist = list(values(self.store)) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() item = self.store.pop('min') self.store.sync() self.assertEqual(item, 6) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store.sync() self.assertEqual(self.store.setdefault('pow', 8), 8) self.store.sync() self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.store.sync() self.assertEqual(self.store['min'], 6) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() self.store.clear() self.store.sync() self.assertEqual(len(self.store), 0) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.sync() item = self.store.popitem() self.store.sync() self.assertEqual(len(item) + len(self.store), 4) def test_close(self): self.store.close() self.assertEqual(self.store._store, None) self.assertEqual(self.store._buffer, None) self.assertEqual(self.store._cache, None)
class TestFileStore(unittest.TestCase): def setUp(self): from shove import Shove self.store = Shove('file://test', compress=True) def tearDown(self): import os self.store.close() for x in os.listdir('test'): os.remove(os.path.join('test', x)) os.rmdir('test') def test__getitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__setitem__(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store['max'], 3) def test__delitem__(self): self.store['max'] = 3 del self.store['max'] self.assertEqual('max' in self.store, False) def test_get(self): self.store['max'] = 3 self.store.sync() self.assertEqual(self.store.get('min'), None) def test__cmp__(self): from shove import Shove tstore = Shove() self.store['max'] = 3 tstore['max'] = 3 self.store.sync() tstore.sync() self.assertEqual(self.store, tstore) def test__len__(self): self.store['max'] = 3 self.store['min'] = 6 self.assertEqual(len(self.store), 2) def test_close(self): self.store.close() self.assertEqual(self.store, None) def test_clear(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 self.store.clear() self.assertEqual(len(self.store), 0) def test_items(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.items()) self.assertEqual(('min', 6) in slist, True) def test_iteritems(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iteritems()) self.assertEqual(('min', 6) in slist, True) def test_iterkeys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.iterkeys()) self.assertEqual('min' in slist, True) def test_itervalues(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = list(self.store.itervalues()) self.assertEqual(6 in slist, True) def test_pop(self): self.store['max'] = 3 self.store['min'] = 6 item = self.store.pop('min') self.assertEqual(item, 6) def test_popitem(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 item = self.store.popitem() self.assertEqual(len(item) + len(self.store), 4) def test_setdefault(self): self.store['max'] = 3 self.store['min'] = 6 self.store['powl'] = 7 self.store.setdefault('pow', 8) self.assertEqual(self.store['pow'], 8) def test_update(self): from shove import Shove tstore = Shove() tstore['max'] = 3 tstore['min'] = 6 tstore['pow'] = 7 self.store['max'] = 2 self.store['min'] = 3 self.store['pow'] = 7 self.store.update(tstore) self.assertEqual(self.store['min'], 6) def test_values(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.values() self.assertEqual(6 in slist, True) def test_keys(self): self.store['max'] = 3 self.store['min'] = 6 self.store['pow'] = 7 slist = self.store.keys() self.assertEqual('min' in slist, True)