Complete rocksdb test
This commit is contained in:
parent
4bda7522ab
commit
05898a7e00
@ -228,8 +228,6 @@ class SyncStore:
|
|||||||
state_bytes = sync_state_serialize(item.cursor, 0, -1)
|
state_bytes = sync_state_serialize(item.cursor, 0, -1)
|
||||||
self.state.put(str(item.cursor), state_bytes)
|
self.state.put(str(item.cursor), state_bytes)
|
||||||
|
|
||||||
logg.debug('item {}'.format(self.state.state(item.state_key)))
|
|
||||||
|
|
||||||
|
|
||||||
def load(self, target):
|
def load(self, target):
|
||||||
self.state.sync(self.state.NEW)
|
self.state.sync(self.state.NEW)
|
||||||
|
@ -50,13 +50,17 @@ class SyncRocksDbStore(SyncStore):
|
|||||||
|
|
||||||
|
|
||||||
def get_target(self):
|
def get_target(self):
|
||||||
self.target_db.get('target')
|
v = self.target_db.get('target')
|
||||||
|
if v != None:
|
||||||
|
self.target = int(v)
|
||||||
|
|
||||||
|
|
||||||
def set_target(self, v):
|
def set_target(self, v):
|
||||||
self.target_db.put('target')
|
self.target_db.put('target', str(v))
|
||||||
|
self.target = v
|
||||||
|
|
||||||
|
|
||||||
def disconnect(self):
|
def stop(self, item):
|
||||||
super(SyncRocksDbStore, self).disconnect()
|
if item != None:
|
||||||
|
super(SyncRocksDbStore, self).stop(item)
|
||||||
self.factory.close()
|
self.factory.close()
|
||||||
|
@ -267,3 +267,12 @@ class MockChainInterfaceConn(MockConn):
|
|||||||
|
|
||||||
def handle_receipt(self, hsh):
|
def handle_receipt(self, hsh):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|
||||||
|
class MockItem:
|
||||||
|
|
||||||
|
def __init__(self, target, offset, cursor, state_key):
|
||||||
|
self.target = target
|
||||||
|
self.offset = offset
|
||||||
|
self.cursor = cursor
|
||||||
|
self.state_key = state_key
|
||||||
|
@ -14,7 +14,10 @@ from chainsyncer.error import (
|
|||||||
IncompleteFilterError,
|
IncompleteFilterError,
|
||||||
SyncDone,
|
SyncDone,
|
||||||
)
|
)
|
||||||
from chainsyncer.unittest import MockFilter
|
from chainsyncer.unittest import (
|
||||||
|
MockFilter,
|
||||||
|
MockItem,
|
||||||
|
)
|
||||||
|
|
||||||
logg = logging.getLogger(__name__)
|
logg = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -50,6 +53,7 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
def t_default(self):
|
def t_default(self):
|
||||||
|
bogus_item = MockItem(0, 0, 0, 0)
|
||||||
store = self.store_factory()
|
store = self.store_factory()
|
||||||
|
|
||||||
fp = os.path.join(self.path, store.session_id)
|
fp = os.path.join(self.path, store.session_id)
|
||||||
@ -66,19 +70,19 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
fpd = os.path.realpath(fpd)
|
fpd = os.path.realpath(fpd)
|
||||||
self.assertEqual(fpd, fp)
|
self.assertEqual(fpd, fp)
|
||||||
|
|
||||||
store.disconnect()
|
store.stop(bogus_item)
|
||||||
store = self.store_factory()
|
store = self.store_factory()
|
||||||
fpr = os.path.join(self.path, session_id)
|
fpr = os.path.join(self.path, session_id)
|
||||||
self.assertEqual(fp, fpr)
|
self.assertEqual(fp, fpr)
|
||||||
self.assertTrue(store.is_default)
|
self.assertTrue(store.is_default)
|
||||||
|
|
||||||
store.disconnect()
|
store.stop(bogus_item)
|
||||||
store = self.store_factory('default')
|
store = self.store_factory('default')
|
||||||
fpr = os.path.join(self.path, session_id)
|
fpr = os.path.join(self.path, session_id)
|
||||||
self.assertEqual(fp, fpr)
|
self.assertEqual(fp, fpr)
|
||||||
self.assertTrue(store.is_default)
|
self.assertTrue(store.is_default)
|
||||||
|
|
||||||
store.disconnect()
|
store.stop(bogus_item)
|
||||||
store = self.store_factory('foo')
|
store = self.store_factory('foo')
|
||||||
fpf = os.path.join(self.path, 'foo')
|
fpf = os.path.join(self.path, 'foo')
|
||||||
st = os.stat(fpf)
|
st = os.stat(fpf)
|
||||||
@ -87,11 +91,12 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
def t_store_start(self):
|
def t_store_start(self):
|
||||||
|
bogus_item = MockItem(0, 0, 0, 0)
|
||||||
store = self.store_factory()
|
store = self.store_factory()
|
||||||
store.start(42)
|
store.start(42)
|
||||||
self.assertTrue(store.first)
|
self.assertTrue(store.first)
|
||||||
|
|
||||||
store.disconnect()
|
store.stop(bogus_item)
|
||||||
store = self.store_factory()
|
store = self.store_factory()
|
||||||
store.start()
|
store.start()
|
||||||
self.assertFalse(store.first)
|
self.assertFalse(store.first)
|
||||||
@ -221,13 +226,13 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
o.next(advance_block=True)
|
o.next(advance_block=True)
|
||||||
session.stop(o)
|
session.stop(o)
|
||||||
|
|
||||||
store.disconnect()
|
|
||||||
store = self.store_factory('foo')
|
store = self.store_factory('foo')
|
||||||
store.start()
|
store.start()
|
||||||
o = store.get(2)
|
o = store.get(2)
|
||||||
|
|
||||||
|
|
||||||
def t_sync_history_interrupted(self):
|
def t_sync_history_interrupted(self):
|
||||||
|
bogus_item = MockItem(0, 0, 0, 0)
|
||||||
store = self.store_factory('foo')
|
store = self.store_factory('foo')
|
||||||
session = SyncSession(store)
|
session = SyncSession(store)
|
||||||
|
|
||||||
@ -237,7 +242,7 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
o.next(advance_block=True)
|
o.next(advance_block=True)
|
||||||
session.stop(o)
|
session.stop(o)
|
||||||
|
|
||||||
store.disconnect()
|
store.stop(bogus_item)
|
||||||
store = self.store_factory('foo')
|
store = self.store_factory('foo')
|
||||||
store.start()
|
store.start()
|
||||||
o = store.get(0)
|
o = store.get(0)
|
||||||
@ -246,8 +251,7 @@ class TestStoreBase(unittest.TestCase):
|
|||||||
o.next(advance_block=True)
|
o.next(advance_block=True)
|
||||||
o.next(advance_block=True)
|
o.next(advance_block=True)
|
||||||
|
|
||||||
session.stop(o)
|
store.stop(bogus_item)
|
||||||
store.disconnect()
|
|
||||||
store = self.store_factory('foo')
|
store = self.store_factory('foo')
|
||||||
store.start()
|
store.start()
|
||||||
self.assertEqual(o.cursor, 4)
|
self.assertEqual(o.cursor, 4)
|
||||||
|
Loading…
Reference in New Issue
Block a user