Add keystore test
This commit is contained in:
10
cic/data/network_template_v0.json
Normal file
10
cic/data/network_template_v0.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"token": {
|
||||
"reference": null,
|
||||
"key_account": null
|
||||
},
|
||||
"token_index": {
|
||||
"reference": null,
|
||||
"key_account": null
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,15 @@ logg = logging.getLogger(__name__)
|
||||
|
||||
class CICEth:
|
||||
|
||||
def __init__(self, reference, proofs, signer_hint=None):
|
||||
self.reference = reference
|
||||
def __init__(self, resources, proofs, signer_hint=None):
|
||||
self.resources = resources
|
||||
self.proofs = proofs
|
||||
self.signer_hint = signer_hint
|
||||
|
||||
|
||||
def new(reference, proofs, signer_hint=None):
|
||||
return CICEth(reference, proofs, signer_hint=None)
|
||||
def token_index(self):
|
||||
pass
|
||||
|
||||
|
||||
def new(resources, proofs, signer_hint=None):
|
||||
return CICEth(resources, proofs, signer_hint=None)
|
||||
|
||||
30
cic/keystore.py
Normal file
30
cic/keystore.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# standard imports
|
||||
import os
|
||||
import json
|
||||
import logging
|
||||
|
||||
# external imports
|
||||
from funga.error import (
|
||||
DecryptError,
|
||||
KeyfileError,
|
||||
)
|
||||
from funga.keystore import Keystore
|
||||
|
||||
logg = logging.getLogger(__name__)
|
||||
|
||||
class KeystoreDirectory(Keystore):
|
||||
|
||||
def process_dir(self, path, password_retriever=None, default_password=''):
|
||||
for v in os.listdir(path):
|
||||
fp = os.path.join(path, v)
|
||||
try:
|
||||
self.import_keystore_file(fp, password=default_password)
|
||||
except IsADirectoryError:
|
||||
pass
|
||||
except KeyfileError as e:
|
||||
logg.warning('file {} could not be parsed as keyfile: {}'.format(fp, e))
|
||||
except DecryptError as e:
|
||||
if password_retriever == None:
|
||||
raise e
|
||||
password = password_retriever()
|
||||
self.import_keystore_file(fp, password=password)
|
||||
@@ -3,7 +3,10 @@ import os
|
||||
import json
|
||||
|
||||
# local imports
|
||||
from .base import *
|
||||
from .base import (
|
||||
Data,
|
||||
data_dir,
|
||||
)
|
||||
|
||||
|
||||
class Meta(Data):
|
||||
|
||||
@@ -3,7 +3,10 @@ import os
|
||||
import json
|
||||
|
||||
# local imports
|
||||
from .base import *
|
||||
from .base import (
|
||||
Data,
|
||||
data_dir,
|
||||
)
|
||||
|
||||
|
||||
class Network(Data):
|
||||
@@ -31,15 +34,18 @@ class Network(Data):
|
||||
def start(self):
|
||||
super(Network, self).load()
|
||||
|
||||
f = open(self.network_path, 'w')
|
||||
o = {'references': {}}
|
||||
network_template_file_path = os.path.join(data_dir, 'network_template_v{}.json'.format(self.version()))
|
||||
|
||||
f = open(network_template_file_path)
|
||||
o_part = json.load(f)
|
||||
f.close()
|
||||
|
||||
f = open(self.network_path, 'w')
|
||||
o = {'resources': {}}
|
||||
|
||||
for v in self.targets:
|
||||
o['references'][v] = {
|
||||
'token': None,
|
||||
'token_index': None,
|
||||
}
|
||||
json.dump(o, f)
|
||||
o['resources'][v] = o_part
|
||||
json.dump(o, f)
|
||||
f.close()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user