class TestCassandraStore(Store, Spawn, unittest.TestCase): cmd = ['cassandra', '-f'] @classmethod def setUpClass(cls): super(TestCassandraStore, cls).setUpClass() import time time.sleep(5.0) def setUp(self): from shove import Shove from pycassa.system_manager import SystemManager # @UnresolvedImport @IgnorePep8 system_manager = SystemManager('localhost:9160') try: system_manager.create_column_family('Murk', 'shove') except: pass self.store = Shove('cassandra://localhost:9160/Murk/shove') def tearDown(self): if self.store._store is not None: self.store.clear() self.store.close() from pycassa.system_manager import SystemManager # @UnresolvedImport @IgnorePep8 system_manager = SystemManager('localhost:9160') system_manager.drop_column_family('Murk', 'shove') @classmethod def tearDownClass(cls): from fabric.api import local local('killall java')
def invert_index(source_dir, index_url=INDEX_URL, init=False): """ Build the invert index from give source_dir Output a Shove object built on the store_path Input: source_dir: a directory on the filesystem index_url: the store_path for the Shove object init: clear the old index and rebuild from scratch Output: index: a Shove object """ raw_index = defaultdict(list) for base, dir_list, fn_list in os.walk(source_dir): for fn in fn_list: fp = os.path.join(base, fn) code = fn with open(fp, encoding="utf-8") as f: try: tokens = f.read().strip().split('\n') except: print(fp) continue for token in tokens: raw_index[token].append(code) index = Shove(store=index_url) if init: index.clear() if '' in raw_index: del raw_index[''] index.update(raw_index) index.sync() return index
class TestFTPStore(Store, unittest.TestCase): initstring = 'ftp://127.0.0.1/' def setUp(self): from shove import Shove self.store = Shove(self.initstring, compress=True) def tearDown(self): self.store.clear() self.store.close()
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 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 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 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 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 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 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 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 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)
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 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)