WIP Add file backend
This commit is contained in:
60
tests/test_file.py
Normal file
60
tests/test_file.py
Normal file
@@ -0,0 +1,60 @@
|
||||
# standard imports
|
||||
import uuid
|
||||
import os
|
||||
import unittest
|
||||
import shutil
|
||||
|
||||
# external imports
|
||||
from chainlib.chain import ChainSpec
|
||||
|
||||
# local imports
|
||||
from chainsyncer.backend_file import SyncerFileBackend
|
||||
|
||||
script_dir = os.path.dirname(__file__)
|
||||
tmp_test_dir = os.path.join(script_dir, 'testdata', 'tmp')
|
||||
chainsyncer_test_dir = os.path.join(tmp_test_dir, 'chainsyncer')
|
||||
os.makedirs(tmp_test_dir, exist_ok=True)
|
||||
|
||||
|
||||
class TestFile(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.chain_spec = ChainSpec('foo', 'bar', 42, 'baz')
|
||||
self.uu = SyncerFileBackend.create_object(self.chain_spec, None, base_dir=tmp_test_dir)
|
||||
|
||||
self.o = SyncerFileBackend(self.chain_spec, self.uu, base_dir=tmp_test_dir)
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
self.o.purge()
|
||||
shutil.rmtree(chainsyncer_test_dir)
|
||||
|
||||
|
||||
def test_set(self):
|
||||
self.o.set(42, 13)
|
||||
|
||||
o = SyncerFileBackend(self.chain_spec, self.o.object_id, base_dir=tmp_test_dir)
|
||||
|
||||
state = o.get()
|
||||
|
||||
self.assertEqual(state[0], 42)
|
||||
self.assertEqual(state[1], 13)
|
||||
|
||||
|
||||
def test_initial(self):
|
||||
local_uu = SyncerFileBackend.initial(self.chain_spec, 1337, start_block_height=666, base_dir=tmp_test_dir)
|
||||
|
||||
o = SyncerFileBackend(self.chain_spec, local_uu, base_dir=tmp_test_dir)
|
||||
|
||||
(pair, filter_stats) = o.target()
|
||||
self.assertEqual(pair[0], 1337)
|
||||
self.assertEqual(pair[1], 0)
|
||||
|
||||
(pair, filter_stats) = o.start()
|
||||
self.assertEqual(pair[0], 666)
|
||||
self.assertEqual(pair[1], 0)
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user