70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
"""This command is used for up one snapshot."""
|
|
|
|
import json
|
|
|
|
import click
|
|
|
|
from ereuse_devicehub.resources.action.models import Snapshot
|
|
from ereuse_devicehub.resources.user.models import User
|
|
|
|
|
|
class CheckInstall:
|
|
"""Command.
|
|
|
|
This command check if the instalation was ok and the
|
|
integration with the api of DLT was ok too.
|
|
|
|
"""
|
|
|
|
def __init__(self, app) -> None:
|
|
"""Init function."""
|
|
super().__init__()
|
|
self.app = app
|
|
self.schema = app.config.get('DB_SCHEMA')
|
|
self.app.cli.command('check_install', short_help='Upload snapshots.')(self.run)
|
|
|
|
@click.argument('email')
|
|
@click.argument('password')
|
|
def run(self, email, password):
|
|
"""Run command."""
|
|
|
|
self.email = email
|
|
self.password = password
|
|
OKGREEN = '\033[92m'
|
|
# WARNING = '\033[93m'
|
|
FAIL = '\033[91m'
|
|
ENDC = '\033[0m'
|
|
try:
|
|
self.check_user()
|
|
self.check_snapshot()
|
|
except Exception:
|
|
print("\n" + FAIL + "There was an Error in the instalation!" + ENDC)
|
|
return
|
|
print("\n" + OKGREEN + "The instalation is OK!" + ENDC)
|
|
|
|
def check_user(self):
|
|
"""Get datamodel of user."""
|
|
self.user = User.query.filter_by(email=self.email).first()
|
|
assert self.user.api_keys_dlt is not None
|
|
token_dlt = self.user.get_dlt_keys(self.password)
|
|
assert token_dlt.get('data', {}).get('eth_pub_key') is not None
|
|
api_token = token_dlt.get('data', {}).get('api_token')
|
|
rols = self.user.get_rols(api_token)
|
|
assert self.user.rols_dlt is not None
|
|
assert self.user.rols_dlt != []
|
|
assert self.user.rols_dlt == json.dumps([x for x, y in rols])
|
|
|
|
def check_snapshot(self):
|
|
# import pdb
|
|
|
|
# pdb.set_trace()
|
|
self.snapshot = Snapshot.query.filter_by(author=self.user).first()
|
|
self.device = self.snapshot.device
|
|
assert self.snapshot.json_wb is not None
|
|
assert len(self.device.dpps) == 1
|
|
assert len(self.device.proofs) == 1
|
|
assert self.device.chid is not None
|
|
assert self.snapshot.phid_dpp is not None
|
|
assert len(self.snapshot.dpp) == 1
|
|
assert len(self.snapshot.proofs) == 2
|