2022-03-11 20:38:12 +01:00
|
|
|
# standard imports
|
|
|
|
import tempfile
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
# external imports
|
|
|
|
from shep.store.file import SimpleFileStoreFactory
|
2022-03-12 14:48:40 +01:00
|
|
|
from chainlib.chain import ChainSpec
|
2022-03-11 20:38:12 +01:00
|
|
|
|
|
|
|
# local imports
|
|
|
|
from chainqueue import (
|
|
|
|
Store,
|
|
|
|
Status,
|
|
|
|
)
|
|
|
|
|
2022-03-12 14:48:40 +01:00
|
|
|
# test imports
|
|
|
|
from tests.common import MockCounter
|
|
|
|
|
|
|
|
|
2022-03-11 20:38:12 +01:00
|
|
|
|
2022-03-12 09:48:19 +01:00
|
|
|
class MockContentStore:
|
2022-03-11 20:38:12 +01:00
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
self.store = {}
|
|
|
|
|
|
|
|
|
|
|
|
def put(self, k, v):
|
|
|
|
self.store[k] = v
|
|
|
|
|
|
|
|
|
|
|
|
def get(self, k):
|
|
|
|
return self.store.get(k)
|
|
|
|
|
|
|
|
|
|
|
|
class TestShepBase(unittest.TestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
self.path = tempfile.mkdtemp()
|
|
|
|
factory = SimpleFileStoreFactory(self.path).add
|
|
|
|
self.state = Status(factory)
|
2022-03-12 09:48:19 +01:00
|
|
|
content_store = MockContentStore()
|
|
|
|
counter = MockCounter()
|
2022-03-12 14:48:40 +01:00
|
|
|
chain_spec = ChainSpec('foo', 'bar', 42, 'baz')
|
|
|
|
self.store = Store(chain_spec, self.state, content_store, counter)
|