From e7e7cea4eb95546ff2dde52f5e50af9c5154b789 Mon Sep 17 00:00:00 2001 From: Vanshdeep Singh Date: Mon, 3 Sep 2018 17:18:44 +0200 Subject: [PATCH] Problem: new public key interface not applied to 'abci' tests Solution: Change 'pub_key' to 'public_key' --- bigchaindb/upsert_validator/validator_election.py | 2 +- bigchaindb/upsert_validator/validator_utils.py | 10 +++++----- tests/commands/test_commands.py | 4 ++-- tests/conftest.py | 5 ++--- tests/tendermint/test_core.py | 8 ++++---- tests/tendermint/test_integration.py | 2 +- tests/upsert_validator/conftest.py | 2 +- .../upsert_validator/test_validator_election_vote.py | 11 +++++------ 8 files changed, 21 insertions(+), 23 deletions(-) diff --git a/bigchaindb/upsert_validator/validator_election.py b/bigchaindb/upsert_validator/validator_election.py index 2ed6ec53..ec17efbf 100644 --- a/bigchaindb/upsert_validator/validator_election.py +++ b/bigchaindb/upsert_validator/validator_election.py @@ -64,7 +64,7 @@ class ValidatorElection(Transaction): validators = {} for validator in bigchain.get_validators(height): # NOTE: we assume that Tendermint encodes public key in base64 - public_key = public_key_from_ed25519_key(key_from_base64(validator['pub_key']['value'])) + public_key = public_key_from_ed25519_key(key_from_base64(validator['public_key']['value'])) validators[public_key] = validator['voting_power'] return validators diff --git a/bigchaindb/upsert_validator/validator_utils.py b/bigchaindb/upsert_validator/validator_utils.py index 7797cc5b..fe6b1e02 100644 --- a/bigchaindb/upsert_validator/validator_utils.py +++ b/bigchaindb/upsert_validator/validator_utils.py @@ -16,21 +16,21 @@ def encode_validator(v): def decode_validator(v): - return {'pub_key': {'type': v.pub_key.type, - 'value': codecs.encode(v.pub_key.data, 'base64').decode().rstrip('\n')}, + return {'public_key': {'type': v.pub_key.type, + 'value': codecs.encode(v.pub_key.data, 'base64').decode().rstrip('\n')}, 'voting_power': v.power} def new_validator_set(validators, updates): validators_dict = {} for v in validators: - validators_dict[v['pub_key']['value']] = v + validators_dict[v['public_key']['value']] = v updates_dict = {} for u in updates: public_key64 = public_key_to_base64(u['public_key']['value']) - updates_dict[public_key64] = {'pub_key': {'type': 'ed25519-base64', - 'value': public_key64}, + updates_dict[public_key64] = {'public_key': {'type': 'ed25519-base64', + 'value': public_key64}, 'voting_power': u['power']} new_validators_dict = {**validators_dict, **updates_dict} diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 0d617023..957fe85c 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -523,8 +523,8 @@ def mock_get_validators(height): keys = node_keys() pub_key = list(keys.keys())[0] return [ - {'pub_key': {'value': pub_key, - 'type': 'ed25519-base64'}, + {'public_key': {'value': pub_key, + 'type': 'ed25519-base64'}, 'voting_power': 10} ] diff --git a/tests/conftest.py b/tests/conftest.py index 185b735e..c19a158b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -643,9 +643,8 @@ def validators(b, node_keys): (public_key, private_key) = list(node_keys.items())[0] validator_set = [{'address': 'F5426F0980E36E03044F74DD414248D29ABCBDB2', - 'pub_key': { - 'data': public_key, - 'type': 'ed25519'}, + 'public_key': {'value': public_key, + 'type': 'ed25519-base64'}, 'voting_power': 10}] validator_update = {'validators': validator_set, diff --git a/tests/tendermint/test_core.py b/tests/tendermint/test_core.py index 715d9d27..c8892e93 100644 --- a/tests/tendermint/test_core.py +++ b/tests/tendermint/test_core.py @@ -227,8 +227,8 @@ def test_store_pre_commit_state_in_end_block(b, alice, init_chain_request): def test_new_validator_set(b): - node1 = {'pub_key': {'type': 'ed25519-base64', - 'value': 'FxjS2/8AFYoIUqF6AcePTc87qOT7e4WGgH+sGCpTUDQ='}, + node1 = {'public_key': {'type': 'ed25519-base64', + 'value': 'FxjS2/8AFYoIUqF6AcePTc87qOT7e4WGgH+sGCpTUDQ='}, 'voting_power': 10} node1_new_power = {'public_key': {'value': '1718D2DBFF00158A0852A17A01C78F4DCF3BA8E4FB7B8586807FAC182A535034', 'type': 'ed25519-base58'}, @@ -244,8 +244,8 @@ def test_new_validator_set(b): updated_validators = [] for u in updates: - updated_validators.append({'pub_key': {'type': 'ed25519-base64', - 'value': public_key_to_base64(u['public_key']['value'])}, + updated_validators.append({'public_key': {'type': 'ed25519-base64', + 'value': public_key_to_base64(u['public_key']['value'])}, 'voting_power': u['power']}) assert updated_validator_set == updated_validators diff --git a/tests/tendermint/test_integration.py b/tests/tendermint/test_integration.py index 0836dd51..3a4a829d 100644 --- a/tests/tendermint/test_integration.py +++ b/tests/tendermint/test_integration.py @@ -40,7 +40,7 @@ def test_app(b, init_chain_request): pk = codecs.encode(init_chain_request.validators[0].pub_key.data, 'base64').decode().strip('\n') [validator] = b.get_validators(height=1) - assert validator['pub_key']['value'] == pk + assert validator['public_key']['value'] == pk assert validator['voting_power'] == 10 alice = generate_key_pair() diff --git a/tests/upsert_validator/conftest.py b/tests/upsert_validator/conftest.py index 8e1830c6..77179f70 100644 --- a/tests/upsert_validator/conftest.py +++ b/tests/upsert_validator/conftest.py @@ -22,7 +22,7 @@ def mock_get_validators(network_validators): validators = [] for public_key, power in network_validators.items(): validators.append({ - 'pub_key': {'type': 'AC26791624DE60', 'value': public_key}, + 'public_key': {'type': 'AC26791624DE60', 'value': public_key}, 'voting_power': power }) return validators diff --git a/tests/upsert_validator/test_validator_election_vote.py b/tests/upsert_validator/test_validator_election_vote.py index 9b55e28e..87088074 100644 --- a/tests/upsert_validator/test_validator_election_vote.py +++ b/tests/upsert_validator/test_validator_election_vote.py @@ -228,8 +228,7 @@ def test_upsert_validator(b, node_key, node_keys, ed25519_node_keys): (node_pub, _) = list(node_keys.items())[0] - validators = [{'pub_key': {'type': 'ed25519', - 'data': node_pub}, + validators = [{'public_key': {'type': 'ed25519-base64', 'value': node_pub}, 'voting_power': 10}] latest_block = b.get_latest_block() @@ -268,7 +267,7 @@ def test_upsert_validator(b, node_key, node_keys, ed25519_node_keys): new_validator_set = b.get_validators() validator_pub_keys = [] for v in new_validator_set: - validator_pub_keys.append(v['pub_key']['data']) + validator_pub_keys.append(v['public_key']['value']) assert (public_key64 in validator_pub_keys) @@ -339,7 +338,7 @@ def test_get_validator_update(b, node_keys, node_key, ed25519_node_keys): # assert that the public key is not a part of the current validator set for v in b.get_validators(10): - assert not v['pub_key']['value'] == public_key64 + assert not v['public_key']['value'] == public_key64 # ============================================================================ @@ -365,7 +364,7 @@ def gen_vote(election, i, ed25519_node_keys): def reset_validator_set(b, node_keys, height): validators = [] for (node_pub, _) in node_keys.items(): - validators.append({'pub_key': {'type': 'ed25519', - 'value': node_pub}, + validators.append({'public_key': {'type': 'ed25519-base64', + 'value': node_pub}, 'voting_power': 10}) b.store_validator_set(height, validators, 'election_id')