lbry-sdk/tests/client_tests/integration/test_blockchain_reorganization.py

30 lines
1.1 KiB
Python
Raw Normal View History

2018-11-04 06:55:50 +01:00
import logging
from torba.testcase import IntegrationTestCase
class BlockchainReorganizationTests(IntegrationTestCase):
2018-11-04 06:55:50 +01:00
VERBOSITY = logging.WARN
2018-09-26 03:06:22 +02:00
async def test_reorg(self):
2019-06-18 23:50:41 +02:00
# invalidate current block, move forward 2
self.assertEqual(self.ledger.headers.height, 200)
2019-06-18 23:50:41 +02:00
self.assertEqual(
self.ledger.headers.hash(200).decode(),
await self.blockchain.get_block_hash(200)
)
await self.blockchain.invalidate_block(self.ledger.headers.hash(200).decode())
await self.blockchain.generate(2)
await self.ledger.on_header.where(lambda e: e.height == 201)
self.assertEqual(self.ledger.headers.height, 201)
2019-06-18 23:50:41 +02:00
self.assertEqual(
self.ledger.headers.hash(200).decode(),
await self.blockchain.get_block_hash(200)
)
2018-09-26 03:06:22 +02:00
2019-06-18 23:50:41 +02:00
# invalidate current block, move forward 3
await self.blockchain.invalidate_block(self.ledger.headers.hash(200).decode())
await self.blockchain.generate(3)
await self.ledger.on_header.where(lambda e: e.height == 202)
self.assertEqual(self.ledger.headers.height, 202)