chainqueue/tests/test_integrate.py

65 lines
1.6 KiB
Python
Raw Normal View History

2022-03-12 14:48:40 +01:00
# standard imports
import tempfile
import unittest
import logging
2022-03-12 14:48:40 +01:00
# external imports
from shep.store.file import SimpleFileStoreFactory
from chainlib.chain import ChainSpec
# local imports
from chainqueue import (
Store,
Status,
)
# test imports
from tests.common import (
MockCounter,
MockTokenCache,
MockCacheTokenTx,
MockContentStore,
2022-03-12 14:48:40 +01:00
)
from tests.base_shep import TestShepBase
logging.basicConfig(level=logging.DEBUG)
logg = logging.getLogger()
2022-03-12 14:48:40 +01:00
class TestIntegrateBase(TestShepBase):
2022-03-12 14:48:40 +01:00
def setUp(self):
self.path = tempfile.mkdtemp()
factory = SimpleFileStoreFactory(self.path).add
self.state = Status(factory)
content_store = MockContentStore()
counter = MockCounter()
chain_spec = ChainSpec('foo', 'bar', 42, 'baz')
self.cache = MockTokenCache()
self.store = Store(chain_spec, self.state, content_store, counter, cache=self.cache)
def test_integration_valid(self):
self.store.put(b'foo'.hex(), b'bar'.hex(), cache_adapter=MockCacheTokenTx)
2022-03-12 14:48:40 +01:00
2022-03-13 16:45:48 +01:00
def test_state_enqueu(self):
2022-03-13 16:40:45 +01:00
hx = b'foo'.hex()
self.store.put(hx, b'bar'.hex(), cache_adapter=MockCacheTokenTx)
self.store.get(hx)
self.store.enqueue(hx)
v = self.store.upcoming()
self.assertEqual(len(v), 1)
self.assertEqual(v[0], hx)
2022-03-13 16:45:48 +01:00
def test_state_defer(self):
hx = b'foo'.hex()
self.store.put(hx, b'bar'.hex(), cache_adapter=MockCacheTokenTx)
self.store.get(hx)
self.store.fail(hx)
2022-03-12 14:48:40 +01:00
if __name__ == '__main__':
unittest.main()