From 02f65f7688ef7e16d895f3d1ef9996b3eaec7a52 Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 2 May 2016 14:04:15 +0200 Subject: [PATCH] add tests --- tests/db/test_voter.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/db/test_voter.py b/tests/db/test_voter.py index 6b86bdd4..a6aa9b62 100644 --- a/tests/db/test_voter.py +++ b/tests/db/test_voter.py @@ -312,10 +312,24 @@ class TestBlockElection(object): # fake "no" votes invalid_vote = b.vote(test_block, 'abc', False) + # fake "yes" votes with incorrect signatures + improperly_signed_valid_vote = b.vote(test_block, 'abc', True) + improperly_signed_valid_vote['vote']['lol'] = 'this should ruin things' + # test unanimously valid block test_block['block']['votes'] = [valid_vote, valid_vote, valid_vote, valid_vote] assert b.block_election_status(test_block) == 'valid' + # test unanimously valid block with one improperly signed vote -- should still succeed + test_block['block']['votes'] = [valid_vote, valid_vote, valid_vote, improperly_signed_valid_vote] + assert b.block_election_status(test_block) == 'valid' + + # test unanimously valid block with two improperly signed votes -- should fail to have quorum + test_block['block']['votes'] = [valid_vote, valid_vote, + improperly_signed_valid_vote, + improperly_signed_valid_vote] + assert b.block_election_status(test_block) == 'undecided' + # test block with minority invalid vote test_block['block']['votes'] = [invalid_vote, valid_vote, valid_vote, valid_vote] assert b.block_election_status(test_block) == 'valid'