Problem: Exceptions are not informational when executing upsert-validator

Solution: generate error logs or print statement indicating success
This commit is contained in:
Vanshdeep Singh 2018-08-27 16:24:41 +02:00
parent 785ce7b667
commit c80d392619
2 changed files with 11 additions and 11 deletions

View File

@ -16,9 +16,7 @@ import sys
from bigchaindb.utils import load_node_key from bigchaindb.utils import load_node_key
from bigchaindb.common.exceptions import (DatabaseAlreadyExists, from bigchaindb.common.exceptions import (DatabaseAlreadyExists,
DatabaseDoesNotExist, DatabaseDoesNotExist,
ValidationError, ValidationError)
OperationError,
KeypairMismatchException)
import bigchaindb import bigchaindb
from bigchaindb import (backend, ValidatorElection, from bigchaindb import (backend, ValidatorElection,
BigchainDB, ValidatorElectionVote) BigchainDB, ValidatorElectionVote)
@ -152,7 +150,8 @@ def run_upsert_validator_new(args, bigchain):
print('[SUCCESS] Submitted proposal with id:', election.id) print('[SUCCESS] Submitted proposal with id:', election.id)
return election.id return election.id
else: else:
raise OperationError('Failed to commit election') logger.error('Failed to commit election proposal')
return False
def run_upsert_validator_approve(args, bigchain): def run_upsert_validator_approve(args, bigchain):
@ -174,10 +173,12 @@ def run_upsert_validator_approve(args, bigchain):
if len(voting_powers) > 0: if len(voting_powers) > 0:
voting_power = voting_powers[0] voting_power = voting_powers[0]
else: else:
raise KeypairMismatchException( logger.error('The key you provided does not match any of the eligible voters in this election.')
'The key you provided does not match any of the eligible voters in this election.' return False
)
# NOTE: The code below assumes no vote delegation has taken place. Vote delegation
# is a by-product of the transaction state model which hasn't been offered as
# feature in current version of upsert-validator
inputs = [i for i in tx.to_inputs() if key.public_key in i.owners_before] inputs = [i for i in tx.to_inputs() if key.public_key in i.owners_before]
election_pub_key = ValidatorElection.to_public_key(tx.id) election_pub_key = ValidatorElection.to_public_key(tx.id)
approval = ValidatorElectionVote.generate(inputs, approval = ValidatorElectionVote.generate(inputs,
@ -191,7 +192,8 @@ def run_upsert_validator_approve(args, bigchain):
print('Your vote has been submitted.') print('Your vote has been submitted.')
return approval.id return approval.id
else: else:
raise OperationError('Failed to vote for election') logger.error('Failed to commit election proposal')
return False
def _run_init(): def _run_init():

View File

@ -10,7 +10,6 @@ from argparse import Namespace
import pytest import pytest
from bigchaindb import ValidatorElection from bigchaindb import ValidatorElection
from bigchaindb.common.exceptions import KeypairMismatchException
from tests.conftest import node_keys from tests.conftest import node_keys
@ -481,8 +480,7 @@ def test_upsert_validator_approve_called_with_bad_key(b, bad_validator_path, new
sk=bad_validator_path, sk=bad_validator_path,
config={}) config={})
with pytest.raises(KeypairMismatchException): assert not run_upsert_validator_approve(args, b)
run_upsert_validator_approve(args, b)
def mock_get(height): def mock_get(height):