def test_mine_block_whenOneTransaction_andIncorrectTransactionHash_thenReturnsNone(self):
transaction = Mock(Transaction)
transaction.source = "from"
transaction.timestamp = 1498923800
transaction.destination = "to"
transaction.amount = 25
transaction.fee = 0.1
transaction.signature = "signature"
transaction.tx_hash = "incorrect_transaction_hash"
latest_block = Mock(Block)
latest_block.index = 35
latest_block.current_hash = "latest_block_hash"
with patch.object(Blockchain, '__init__', return_value=None) as patched_init, \
patch.object(Blockchain, 'get_latest_block', return_value=latest_block) as patched_get_latest_block, \
patch.object(Blockchain, 'pop_next_unconfirmed_transaction', side_effect=[transaction, None]) as patched_pop_next_unconfirmed_transaction:
subject = Blockchain()
resp = subject.mine_block("reward_address")
self.assertIsNone(resp)
self.assertEqual(patched_pop_next_unconfirmed_transaction.call_count, 2)
评论列表
文章目录