Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_getblockfilter.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (c) 2018 The Bitcoin Core developers | # Copyright (c) 2018 The Bitcoin Core developers | ||||
# Distributed under the MIT software license, see the accompanying | # Distributed under the MIT software license, see the accompanying | ||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | # file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
"""Test the getblockfilter RPC.""" | """Test the getblockfilter RPC.""" | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import ( | from test_framework.util import ( | ||||
assert_equal, assert_is_hex_string, assert_raises_rpc_error, | assert_equal, assert_is_hex_string, assert_raises_rpc_error, | ||||
connect_nodes, disconnect_nodes, sync_blocks | connect_nodes, disconnect_nodes | ||||
) | ) | ||||
FILTER_TYPES = ["basic"] | FILTER_TYPES = ["basic"] | ||||
class GetBlockFilterTest(BitcoinTestFramework): | class GetBlockFilterTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
Show All 10 Lines | def run_test(self): | ||||
self.nodes[1].generate(4) | self.nodes[1].generate(4) | ||||
assert_equal(self.nodes[0].getblockcount(), 3) | assert_equal(self.nodes[0].getblockcount(), 3) | ||||
chain0_hashes = [self.nodes[0].getblockhash( | chain0_hashes = [self.nodes[0].getblockhash( | ||||
block_height) for block_height in range(4)] | block_height) for block_height in range(4)] | ||||
# Reorg node 0 to a new chain | # Reorg node 0 to a new chain | ||||
connect_nodes(self.nodes[0], self.nodes[1]) | connect_nodes(self.nodes[0], self.nodes[1]) | ||||
sync_blocks(self.nodes) | self.sync_blocks() | ||||
assert_equal(self.nodes[0].getblockcount(), 4) | assert_equal(self.nodes[0].getblockcount(), 4) | ||||
chain1_hashes = [self.nodes[0].getblockhash( | chain1_hashes = [self.nodes[0].getblockhash( | ||||
block_height) for block_height in range(4)] | block_height) for block_height in range(4)] | ||||
# Test getblockfilter returns a filter for all blocks and filter types | # Test getblockfilter returns a filter for all blocks and filter types | ||||
# on active chain | # on active chain | ||||
for block_hash in chain1_hashes: | for block_hash in chain1_hashes: | ||||
Show All 30 Lines |