Changeset View
Changeset View
Standalone View
Standalone View
test/functional/interface_bitcoin_cli.py
Show All 12 Lines | |||||
class TestBitcoinCli(BitcoinTestFramework): | class TestBitcoinCli(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.num_nodes = 1 | self.num_nodes = 1 | ||||
def skip_test_if_missing_module(self): | def skip_test_if_missing_module(self): | ||||
self.skip_if_no_wallet() | |||||
self.skip_if_no_cli() | self.skip_if_no_cli() | ||||
def run_test(self): | def run_test(self): | ||||
"""Main test logic""" | """Main test logic""" | ||||
cli_response = self.nodes[0].cli("-version").send_cli() | cli_response = self.nodes[0].cli("-version").send_cli() | ||||
assert "Bitcoin ABC RPC client version" in cli_response | assert "Bitcoin ABC RPC client version" in cli_response | ||||
self.log.info( | self.log.info( | ||||
"Compare responses from gewalletinfo RPC and `bitcoin-cli getwalletinfo`") | "Compare responses from gewalletinfo RPC and `bitcoin-cli getwalletinfo`") | ||||
if self.is_wallet_compiled(): | |||||
cli_response = self.nodes[0].cli.getwalletinfo() | cli_response = self.nodes[0].cli.getwalletinfo() | ||||
rpc_response = self.nodes[0].getwalletinfo() | rpc_response = self.nodes[0].getwalletinfo() | ||||
assert_equal(cli_response, rpc_response) | assert_equal(cli_response, rpc_response) | ||||
self.log.info( | self.log.info( | ||||
"Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`") | "Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`") | ||||
cli_response = self.nodes[0].cli.getblockchaininfo() | cli_response = self.nodes[0].cli.getblockchaininfo() | ||||
rpc_response = self.nodes[0].getblockchaininfo() | rpc_response = self.nodes[0].getblockchaininfo() | ||||
assert_equal(cli_response, rpc_response) | assert_equal(cli_response, rpc_response) | ||||
user, password = get_auth_cookie(self.nodes[0].datadir, self.chain) | user, password = get_auth_cookie(self.nodes[0].datadir, self.chain) | ||||
Show All 20 Lines | def run_test(self): | ||||
self.log.info("Make sure that -getinfo with arguments fails") | self.log.info("Make sure that -getinfo with arguments fails") | ||||
assert_raises_process_error( | assert_raises_process_error( | ||||
1, "-getinfo takes no arguments", self.nodes[0].cli('-getinfo').help) | 1, "-getinfo takes no arguments", self.nodes[0].cli('-getinfo').help) | ||||
self.log.info( | self.log.info( | ||||
"Compare responses from `bitcoin-cli -getinfo` and the RPCs data is retrieved from.") | "Compare responses from `bitcoin-cli -getinfo` and the RPCs data is retrieved from.") | ||||
cli_get_info = self.nodes[0].cli('-getinfo').send_cli() | cli_get_info = self.nodes[0].cli('-getinfo').send_cli() | ||||
if self.is_wallet_compiled(): | |||||
wallet_info = self.nodes[0].getwalletinfo() | wallet_info = self.nodes[0].getwalletinfo() | ||||
network_info = self.nodes[0].getnetworkinfo() | network_info = self.nodes[0].getnetworkinfo() | ||||
blockchain_info = self.nodes[0].getblockchaininfo() | blockchain_info = self.nodes[0].getblockchaininfo() | ||||
assert_equal(cli_get_info['version'], network_info['version']) | assert_equal(cli_get_info['version'], network_info['version']) | ||||
assert_equal(cli_get_info['protocolversion'], | assert_equal(cli_get_info['protocolversion'], | ||||
network_info['protocolversion']) | network_info['protocolversion']) | ||||
if self.is_wallet_compiled(): | |||||
assert_equal(cli_get_info['walletversion'], | assert_equal(cli_get_info['walletversion'], | ||||
wallet_info['walletversion']) | wallet_info['walletversion']) | ||||
assert_equal(cli_get_info['balance'], wallet_info['balance']) | assert_equal(cli_get_info['balance'], wallet_info['balance']) | ||||
assert_equal(cli_get_info['blocks'], blockchain_info['blocks']) | assert_equal(cli_get_info['blocks'], blockchain_info['blocks']) | ||||
assert_equal(cli_get_info['timeoffset'], network_info['timeoffset']) | assert_equal(cli_get_info['timeoffset'], network_info['timeoffset']) | ||||
assert_equal(cli_get_info['connections'], network_info['connections']) | assert_equal(cli_get_info['connections'], network_info['connections']) | ||||
assert_equal(cli_get_info['proxy'], | assert_equal(cli_get_info['proxy'], | ||||
network_info['networks'][0]['proxy']) | network_info['networks'][0]['proxy']) | ||||
assert_equal(cli_get_info['difficulty'], blockchain_info['difficulty']) | assert_equal(cli_get_info['difficulty'], blockchain_info['difficulty']) | ||||
assert_equal(cli_get_info['testnet'], | assert_equal(cli_get_info['testnet'], | ||||
blockchain_info['chain'] == "test") | blockchain_info['chain'] == "test") | ||||
if self.is_wallet_compiled(): | |||||
assert_equal(cli_get_info['balance'], wallet_info['balance']) | assert_equal(cli_get_info['balance'], wallet_info['balance']) | ||||
assert_equal(cli_get_info['keypoololdest'], | assert_equal(cli_get_info['keypoololdest'], | ||||
wallet_info['keypoololdest']) | wallet_info['keypoololdest']) | ||||
assert_equal(cli_get_info['keypoolsize'], wallet_info['keypoolsize']) | assert_equal( | ||||
cli_get_info['keypoolsize'], | |||||
wallet_info['keypoolsize']) | |||||
assert_equal(cli_get_info['paytxfee'], wallet_info['paytxfee']) | assert_equal(cli_get_info['paytxfee'], wallet_info['paytxfee']) | ||||
assert_equal(cli_get_info['relayfee'], network_info['relayfee']) | assert_equal(cli_get_info['relayfee'], network_info['relayfee']) | ||||
# unlocked_until is not tested because the wallet is not encrypted | # unlocked_until is not tested because the wallet is not encrypted | ||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
TestBitcoinCli().main() | TestBitcoinCli().main() |