cic-cli/tests/eth/test_eth_offline.py

58 lines
1.9 KiB
Python

# standard imports
import unittest
import logging
import os
# local imports
from cic.ext.eth import CICEth
from cic.contract.processor import ContractProcessor
# tests imports
from tests.eth.base_eth import TestCICEthBase
logging.basicConfig(level=logging.DEBUG)
logg = logging.getLogger()
class TestCICEthOffline(TestCICEthBase):
def setUp(self):
super(TestCICEthOffline, self).setUp()
self.adapter = CICEth(self.chain_spec, self.resources, self.proofs)
self.first_proof = self.proofs.root()[0]
def test_offline_token_index(self):
self.adapter.token_address = self.token_address
self.adapter.process_token_index(writer=self.outputs_writer)
self.assertEqual(self.adapter.outputs[0][0], 'token_index')
self.assertEqual(self.adapter.outputs[0][1][:8], '4420e486')
def test_offline_address_declarator(self):
self.adapter.token_address = self.token_address
self.adapter.process_address_declarator()
self.assertEqual(self.adapter.outputs[0][0], 'address_declarator_' + self.first_proof)
self.assertEqual(self.adapter.outputs[0][1][:8], 'ae47ece0')
def test_offline_writer(self):
self.adapter.outputs_writer = self.outputs_writer
self.adapter.token_address = self.token_address
self.adapter.process_address_declarator()
logg.debug('proofs {}'.format(self.proofs))
logg.debug('outputs {}'.format(self.adapter.outputs))
self.assertEqual(self.adapter.outputs[0][0], 'address_declarator_' + self.first_proof)
self.assertEqual(self.adapter.outputs[0][1][:8], 'ae47ece0')
for i, v in enumerate(self.adapter.outputs):
fp = os.path.join(self.outputs_dir, v[0])
f = open(fp, 'rb')
r = f.read()
f.close()
self.assertEqual(r.decode('utf-8'), v[1])
if __name__ == '__main__':
unittest.main()