Add test for giftto filter
This commit is contained in:
parent
5345803dc7
commit
fe4bef5290
@ -49,9 +49,9 @@ def parse_giftto(tx):
|
|||||||
r = Faucet.parse_give_to_request(tx.payload)
|
r = Faucet.parse_give_to_request(tx.payload)
|
||||||
transfer_data = {}
|
transfer_data = {}
|
||||||
transfer_data['to'] = r[0]
|
transfer_data['to'] = r[0]
|
||||||
transfer_data['value'] = tx['value']
|
transfer_data['value'] = tx.value
|
||||||
transfer_data['from'] = tx['from']
|
transfer_data['from'] = tx.outputs[0]
|
||||||
transfer_data['token_address'] = tx['to']
|
transfer_data['token_address'] = tx.inputs[0]
|
||||||
return ('tokengift', transfer_data)
|
return ('tokengift', transfer_data)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
# external imports
|
# external imports
|
||||||
|
import pytest
|
||||||
from chainlib.connection import RPCConnection
|
from chainlib.connection import RPCConnection
|
||||||
from chainlib.eth.nonce import RPCNonceOracle
|
from chainlib.eth.nonce import RPCNonceOracle
|
||||||
from chainlib.eth.gas import OverrideGasOracle
|
from chainlib.eth.gas import OverrideGasOracle
|
||||||
@ -12,16 +13,20 @@ from chainlib.eth.tx import (
|
|||||||
snake_and_camel,
|
snake_and_camel,
|
||||||
)
|
)
|
||||||
from chainlib.eth.erc20 import ERC20
|
from chainlib.eth.erc20 import ERC20
|
||||||
|
from sarafu_faucet import MinterFaucet
|
||||||
|
from eth_accounts_index import AccountRegistry
|
||||||
|
|
||||||
# local imports
|
# local imports
|
||||||
from cic_eth.runnable.daemons.filters.callback import (
|
from cic_eth.runnable.daemons.filters.callback import (
|
||||||
parse_transfer,
|
parse_transfer,
|
||||||
parse_transferfrom,
|
parse_transferfrom,
|
||||||
|
parse_giftto,
|
||||||
)
|
)
|
||||||
|
|
||||||
logg = logging.getLogger()
|
logg = logging.getLogger()
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skip()
|
||||||
def test_transfer_tx(
|
def test_transfer_tx(
|
||||||
default_chain_spec,
|
default_chain_spec,
|
||||||
init_database,
|
init_database,
|
||||||
@ -59,7 +64,7 @@ def test_transfer_tx(
|
|||||||
assert transfer_type == 'transfer'
|
assert transfer_type == 'transfer'
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.skip()
|
||||||
def test_transfer_from_tx(
|
def test_transfer_from_tx(
|
||||||
default_chain_spec,
|
default_chain_spec,
|
||||||
init_database,
|
init_database,
|
||||||
@ -90,7 +95,6 @@ def test_transfer_from_tx(
|
|||||||
|
|
||||||
o = transaction(tx_hash_hex)
|
o = transaction(tx_hash_hex)
|
||||||
r = rpc.do(o)
|
r = rpc.do(o)
|
||||||
logg.debug(r)
|
|
||||||
tx_src = snake_and_camel(r)
|
tx_src = snake_and_camel(r)
|
||||||
tx = Tx(tx_src)
|
tx = Tx(tx_src)
|
||||||
|
|
||||||
@ -104,3 +108,49 @@ def test_transfer_from_tx(
|
|||||||
(transfer_type, transfer_data) = parse_transferfrom(tx)
|
(transfer_type, transfer_data) = parse_transferfrom(tx)
|
||||||
|
|
||||||
assert transfer_type == 'transferfrom'
|
assert transfer_type == 'transferfrom'
|
||||||
|
|
||||||
|
|
||||||
|
def test_faucet_gift_to_tx(
|
||||||
|
default_chain_spec,
|
||||||
|
init_database,
|
||||||
|
eth_rpc,
|
||||||
|
eth_signer,
|
||||||
|
foo_token,
|
||||||
|
agent_roles,
|
||||||
|
contract_roles,
|
||||||
|
faucet,
|
||||||
|
account_registry,
|
||||||
|
celery_session_worker,
|
||||||
|
):
|
||||||
|
|
||||||
|
rpc = RPCConnection.connect(default_chain_spec, 'default')
|
||||||
|
gas_oracle = OverrideGasOracle(conn=rpc, limit=800000)
|
||||||
|
|
||||||
|
nonce_oracle = RPCNonceOracle(contract_roles['ACCOUNT_REGISTRY_WRITER'], rpc)
|
||||||
|
txf = AccountRegistry(default_chain_spec, signer=eth_signer, nonce_oracle=nonce_oracle, gas_oracle=gas_oracle)
|
||||||
|
(tx_hash_hex, o) = txf.add(account_registry, contract_roles['ACCOUNT_REGISTRY_WRITER'], agent_roles['ALICE'])
|
||||||
|
r = rpc.do(o)
|
||||||
|
o = receipt(tx_hash_hex)
|
||||||
|
r = rpc.do(o)
|
||||||
|
assert r['status'] == 1
|
||||||
|
|
||||||
|
nonce_oracle = RPCNonceOracle(agent_roles['ALICE'], rpc)
|
||||||
|
txf = MinterFaucet(default_chain_spec, signer=eth_signer, nonce_oracle=nonce_oracle, gas_oracle=gas_oracle)
|
||||||
|
(tx_hash_hex, o) = txf.give_to(faucet, agent_roles['ALICE'], agent_roles['ALICE'])
|
||||||
|
r = rpc.do(o)
|
||||||
|
|
||||||
|
o = transaction(tx_hash_hex)
|
||||||
|
r = rpc.do(o)
|
||||||
|
tx_src = snake_and_camel(r)
|
||||||
|
tx = Tx(tx_src)
|
||||||
|
|
||||||
|
o = receipt(tx_hash_hex)
|
||||||
|
r = rpc.do(o)
|
||||||
|
assert r['status'] == 1
|
||||||
|
|
||||||
|
rcpt = snake_and_camel(r)
|
||||||
|
tx.apply_receipt(rcpt)
|
||||||
|
|
||||||
|
(transfer_type, transfer_data) = parse_giftto(tx)
|
||||||
|
|
||||||
|
assert transfer_type == 'tokengift'
|
||||||
|
Loading…
Reference in New Issue
Block a user