Example #1
0
    def test_sealing_linked_block_sets_hashes_correctly(self):
        block1 = Block()
        block1.messages = self.get_messages("first", "second", "third")
        block1.seal()

        block2 = Block()
        block2.messages = self.get_messages("fourth", "fifth")
        block2.link(block1)
        block2.seal()

        self.assertEqual(self.block_hash(block2), block2.hash)
        self.assertEqual(block2.prev_hash, block1.hash)
Example #2
0
 def test_message_tampering_invalidates_block(self):
     block = Block()
     block.messages = self.get_messages("first", "second", "third", "fourth", "fifth")
     block.messages[1].data = "changed"
     self.assertRaises(InvalidBlock, block.validate)
Example #3
0
 def test_sealing_unlinked_block_sets_hashes_correctly(self):
     block = Block()
     block.messages = self.get_messages("first", "second")
     block.seal()
     self.assertEqual(self.block_hash(block), block.hash)