Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_deprecated.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (c) 2017 The Bitcoin Core developers | # Copyright (c) 2017 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 deprecation of RPC calls.""" | """Test deprecation of RPC calls.""" | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import assert_raises_rpc_error | |||||
class DeprecatedRpcTest(BitcoinTestFramework): | class DeprecatedRpcTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.num_nodes = 2 | self.num_nodes = 2 | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.extra_args = [ | self.extra_args = [ | ||||
[], ["-deprecatedrpc=createmultisig", "-deprecatedrpc=validateaddress", "-deprecatedrpc=getblockchaininfo"]] | [], []] | ||||
def run_test(self): | def run_test(self): | ||||
# This test should be used to verify correct behaviour of deprecated | # This test should be used to verify correct behaviour of deprecated | ||||
# RPC methods with and without the -deprecatedrpc flags. For example: | # RPC methods with and without the -deprecatedrpc flags. For example: | ||||
# | # | ||||
# self.log.info("Make sure that -deprecatedrpc=createmultisig allows it to take addresses") | # self.log.info("Make sure that -deprecatedrpc=createmultisig allows it to take addresses") | ||||
# assert_raises_rpc_error(-5, "Invalid public key", self.nodes[0].createmultisig, 1, [self.nodes[0].getnewaddress()]) | # assert_raises_rpc_error(-5, "Invalid public key", self.nodes[0].createmultisig, 1, [self.nodes[0].getnewaddress()]) | ||||
# self.nodes[1].createmultisig(1, [self.nodes[1].getnewaddress()]) | # self.nodes[1].createmultisig(1, [self.nodes[1].getnewaddress()]) | ||||
self.log.info("No tested deprecated RPC methods") | |||||
self.log.info("Test validateaddress deprecation") | |||||
# This is just some random address to pass as a parameter to validateaddress | |||||
SOME_ADDRESS = "mnvGjUy3NMj67yJ6gkK5o9e5RS33Z2Vqcu" | |||||
dep_validate_address = self.nodes[0].validateaddress(SOME_ADDRESS) | |||||
assert "ismine" not in dep_validate_address | |||||
not_dep_val = self.nodes[1].validateaddress(SOME_ADDRESS) | |||||
assert "ismine" in not_dep_val | |||||
self.log.info( | |||||
"Make sure that -deprecatedrpc=createmultisig allows it to take addresses") | |||||
assert_raises_rpc_error(-5, "Invalid public key", | |||||
self.nodes[0].createmultisig, 1, [self.nodes[0].getnewaddress()]) | |||||
self.nodes[1].createmultisig(1, [self.nodes[1].getnewaddress()]) | |||||
self.log.info( | |||||
"-deprecatedrpc=getblockchaininfo lets us see old 'softforks' info") | |||||
binfo_normal = self.nodes[0].getblockchaininfo() | |||||
assert "softforks" not in binfo_normal | |||||
binfo_dep = self.nodes[1].getblockchaininfo() | |||||
assert "softforks" in binfo_dep and len(binfo_dep['softforks']) == 4 | |||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
DeprecatedRpcTest().main() | DeprecatedRpcTest().main() |