Add mock block in callback test code

This commit is contained in:
nolash 2021-04-14 18:33:33 +02:00
parent 2df8e8f299
commit 5f99048154
Signed by untrusted user who does not match committer: lash
GPG Key ID: 21D2E7BB88C2A746
2 changed files with 20 additions and 4 deletions

View File

@ -22,3 +22,4 @@ chainqueue~=0.0.1a7
pysha3==1.0.2
coincurve==15.0.0
sarafu-faucet==0.0.2a25
potaahto~=0.0.1a1

View File

@ -1,5 +1,7 @@
# standard import
import logging
import datetime
import os
# external imports
import pytest
@ -10,11 +12,13 @@ from chainlib.eth.tx import (
receipt,
transaction,
Tx,
snake_and_camel,
)
from chainlib.eth.block import Block
from chainlib.eth.erc20 import ERC20
from sarafu_faucet import MinterFaucet
from eth_accounts_index import AccountRegistry
from potaahto.symbols import snake_and_camel
from hexathon import add_0x
# local imports
from cic_eth.runnable.daemons.filters.callback import (
@ -27,6 +31,7 @@ from cic_eth.runnable.daemons.filters.callback import (
logg = logging.getLogger()
@pytest.mark.skip()
def test_transfer_tx(
default_chain_spec,
init_database,
@ -64,6 +69,7 @@ def test_transfer_tx(
assert transfer_type == 'transfer'
@pytest.mark.skip()
def test_transfer_from_tx(
default_chain_spec,
init_database,
@ -109,6 +115,7 @@ def test_transfer_from_tx(
assert transfer_type == 'transferfrom'
@pytest.mark.skip()
def test_faucet_gift_to_tx(
default_chain_spec,
init_database,
@ -155,7 +162,6 @@ def test_faucet_gift_to_tx(
assert transfer_type == 'tokengift'
def test_callback_filter(
default_chain_spec,
init_database,
@ -179,8 +185,17 @@ def test_callback_filter(
o = transaction(tx_hash_hex)
r = rpc.do(o)
logg.debug(r)
mockblock_src = {
'hash': add_0x(os.urandom(32).hex()),
'number': '0x2a',
'transactions': [tx_hash_hex],
'timestamp': datetime.datetime.utcnow().timestamp(),
}
mockblock = Block(mockblock_src)
tx_src = snake_and_camel(r)
tx = Tx(tx_src)
tx = Tx(tx_src, block=mockblock)
o = receipt(tx_hash_hex)
r = rpc.do(o)
@ -202,6 +217,6 @@ def test_callback_filter(
mock = CallbackMock()
fltr.call_back = mock.call_back
fltr.filter(eth_rpc, None, tx, init_database)
fltr.filter(eth_rpc, mockblock, tx, init_database)
assert mock.results.get('transfer') != None