Add keystore test

This commit is contained in:
nolash
2021-10-10 11:33:30 +02:00
parent cd2d603164
commit 16308f736e
9 changed files with 117 additions and 13 deletions

View File

@@ -0,0 +1,10 @@
{
"token": {
"reference": null,
"key_account": null
},
"token_index": {
"reference": null,
"key_account": null
}
}

View File

@@ -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
View 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)

View File

@@ -3,7 +3,10 @@ import os
import json
# local imports
from .base import *
from .base import (
Data,
data_dir,
)
class Meta(Data):

View File

@@ -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()