def test_blockchain_raise_parent_exception(self): self.dict_list += [{ 'data_hash': 'hash-06', 'prev_block': 'hash-03', 'next_block': 'hash-07' }] blockchain = Blockchain(self.block_list) with self.assertRaises(BlockchainTreeCollisionException): blockchain.build() self.assertFalse(blockchain.is_valid)
def test_blockchain_raise_parent_exception(self): self.dict_list += [{ 'data_hash': 'hash-06', 'prev_block': None, 'next_block': 'hash-05' }] blockchain = Blockchain(self.block_list) with self.assertRaises(BlockchainTreeParentCollisionException): blockchain.generate_tree() self.assertFalse(blockchain.is_valid)
def test_blockchain_generation_with_disordered_transactions(self): self.dict_list += [{ 'data_hash': 'hash-06', 'prev_block': 'hash-07', 'next_block': None }, { 'data_hash': 'hash-07', 'prev_block': 'hash-05', 'next_block': 'hash-06' }] blockchain = Blockchain(self.block_list) blockchain.build() self.assertEqual(len(blockchain.block_tree.keys()), 7)
def test_blockchain_generation(self): blockchain = Blockchain(self.block_list) blockchain.build() self.assertEqual(len(blockchain.block_tree.keys()), 5)
def test_blockchain_last_block_hash(self): blockchain = Blockchain(self.block_list) blockchain.build() self.assertEqual(blockchain.last_block_hash, 'hash-05')
def blockchain(self) -> Blockchain: blockchain = Blockchain(self.queryset) blockchain.generate_tree(raise_exception=False) return blockchain