cic-cli/tests/test_keyfile.py

50 lines
1.3 KiB
Python

# standard imports
import os
import unittest
import logging
# local imports
from cic.keystore import KeystoreDirectory
from funga.eth.keystore.dict import DictKeystore
from funga.error import DecryptError
from hexathon import uniform as hex_uniform
# test imports
from tests.base_cic import test_base_dir
logging = logging.getLogger()
script_dir = test_base_dir
def pass_getter():
return 'test'
class EthKeystoreDirectory(DictKeystore, KeystoreDirectory):
pass
class TestKeyfile(unittest.TestCase):
def setUp(self):
self.path = os.path.join(script_dir, 'testdata', 'keystore')
self.keystore = EthKeystoreDirectory()
def test_keystore_bogus(self):
bogus_path = os.path.join(self.path, 'bogus')
self.keystore.process_dir(bogus_path)
def test_keystore_ok(self):
ok_path = os.path.join(self.path, 'ok')
with self.assertRaises(DecryptError):
self.keystore.process_dir(ok_path) # wrong password
self.keystore.process_dir(ok_path, default_password='test')
self.keystore.process_dir(ok_path, password_retriever=pass_getter)
self.assertTrue(hex_uniform('cc4f82F5DacDE395E1E0CFc4d62827C8B8B5688C') in self.keystore.list())
if __name__ == '__main__':
unittest.main()