WIP crossroads on hex vs bytes interpretation
This commit is contained in:
parent
0c9b42d086
commit
e457275128
@ -36,8 +36,10 @@ class Store:
|
||||
for v in ['state', 'change', 'set', 'unset']:
|
||||
setattr(self, v, getattr(self.state_store, v))
|
||||
|
||||
logg.debug('cache {}'.format(cache))
|
||||
|
||||
def put(self, k, v, cache_adapter=CacheTx()):
|
||||
|
||||
def put(self, k, v, cache_adapter=CacheTx):
|
||||
n = self.counter.next()
|
||||
t = datetime.datetime.now().timestamp()
|
||||
s = to_key(t, n, k)
|
||||
|
@ -1,5 +1,11 @@
|
||||
# standard imports
|
||||
import hashlib
|
||||
|
||||
# local imports
|
||||
from chainqueue.cache import Cache
|
||||
from chainqueue.cache import (
|
||||
Cache,
|
||||
CacheTokenTx,
|
||||
)
|
||||
|
||||
|
||||
class MockCounter:
|
||||
@ -38,3 +44,47 @@ class MockTokenCache(Cache):
|
||||
|
||||
def count(self, cache_filter):
|
||||
self.last_filter = cache_filter
|
||||
|
||||
|
||||
class MockCacheTokenTx(CacheTokenTx):
|
||||
|
||||
def deserialize(self, signed_tx):
|
||||
h = hashlib.sha1()
|
||||
h.update(signed_tx + b'\x01')
|
||||
z = h.digest()
|
||||
nonce = int.from_bytes(z[:4], 'big')
|
||||
token_value = int.from_bytes(z[4:8], 'big')
|
||||
value = int.from_bytes(z[8:12], 'big')
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
sender = z.hex()
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
recipient = z.hex()
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
token = z.hex()
|
||||
|
||||
h = hashlib.sha256()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
tx_hash = z.hex()
|
||||
|
||||
#tx = CacheTokenTx(normalizer=self.normalizer)
|
||||
self.init(tx_hash, nonce, sender, recipient, value)
|
||||
self.set('src_token', token)
|
||||
self.set('dst_token', token)
|
||||
self.set('src_value', token_value)
|
||||
self.set('dst_value', token_value)
|
||||
self.confirm(42, 13, 1024000)
|
||||
|
||||
return self
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
import os
|
||||
import logging
|
||||
import unittest
|
||||
import hashlib
|
||||
import math
|
||||
|
||||
# external imports
|
||||
@ -18,53 +17,15 @@ from chainqueue.cache import (
|
||||
|
||||
# test imports
|
||||
from tests.base_shep import TestShepBase
|
||||
from tests.common import MockTokenCache
|
||||
from tests.common import (
|
||||
MockTokenCache,
|
||||
MockTokenCacheTx,
|
||||
)
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logg = logging.getLogger()
|
||||
|
||||
|
||||
class MockCacheTokenTx(CacheTokenTx):
|
||||
|
||||
def deserialize(self, signed_tx):
|
||||
h = hashlib.sha1()
|
||||
h.update(signed_tx + b'\x01')
|
||||
z = h.digest()
|
||||
nonce = int.from_bytes(z[:4], 'big')
|
||||
token_value = int.from_bytes(z[4:8], 'big')
|
||||
value = int.from_bytes(z[8:12], 'big')
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
sender = z.hex()
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
recipient = z.hex()
|
||||
|
||||
h = hashlib.sha1()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
token = z.hex()
|
||||
|
||||
h = hashlib.sha256()
|
||||
h.update(z)
|
||||
z = h.digest()
|
||||
tx_hash = z.hex()
|
||||
|
||||
#tx = CacheTokenTx(normalizer=self.normalizer)
|
||||
self.init(tx_hash, nonce, sender, recipient, value)
|
||||
self.set('src_token', token)
|
||||
self.set('dst_token', token)
|
||||
self.set('src_value', token_value)
|
||||
self.set('dst_value', token_value)
|
||||
self.confirm(42, 13, 1024000)
|
||||
|
||||
return self
|
||||
|
||||
|
||||
class MockNormalizer:
|
||||
|
||||
def address(self, v):
|
||||
|
@ -1,6 +1,7 @@
|
||||
# standard imports
|
||||
import tempfile
|
||||
import unittest
|
||||
import logging
|
||||
|
||||
# external imports
|
||||
from shep.store.file import SimpleFileStoreFactory
|
||||
@ -15,8 +16,13 @@ from chainqueue import (
|
||||
# test imports
|
||||
from tests.common import (
|
||||
MockCounter,
|
||||
MockTokenCache
|
||||
MockTokenCache,
|
||||
MockCacheTokenTx,
|
||||
)
|
||||
from tests.base_shep import TestShepBase
|
||||
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logg = logging.getLogger()
|
||||
|
||||
|
||||
class MockContentStore:
|
||||
@ -33,7 +39,7 @@ class MockContentStore:
|
||||
return self.store.get(k)
|
||||
|
||||
|
||||
class TestShepBase(unittest.TestCase):
|
||||
class TestIntegrateBase(TestShepBase):
|
||||
|
||||
def setUp(self):
|
||||
self.path = tempfile.mkdtemp()
|
||||
@ -46,8 +52,8 @@ class TestShepBase(unittest.TestCase):
|
||||
self.store = Store(chain_spec, self.state, content_store, counter, cache=self.cache)
|
||||
|
||||
|
||||
def test_basic(self):
|
||||
pass
|
||||
def test_integration_valid(self):
|
||||
self.store.put(b'foo'.hex(), b'bar'.hex(), cache_adapter=MockCacheTokenTx)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
Loading…
Reference in New Issue
Block a user