Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_named_arguments.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (c) 2016 The Bitcoin Core developers | # Copyright (c) 2016 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. | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import assert_equal, assert_raises_rpc_error | from test_framework.util import assert_equal, assert_raises_rpc_error | ||||
class NamedArgumentTest(BitcoinTestFramework): | class NamedArgumentTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.num_nodes = 1 | self.num_nodes = 1 | ||||
def run_test(self): | def run_test(self): | ||||
node = self.nodes[0] | node = self.nodes[0] | ||||
h = node.help(command='getinfo') | h = node.help(command='getblockchaininfo') | ||||
assert(h.startswith('getinfo\n')) | assert(h.startswith('getblockchaininfo\n')) | ||||
assert_raises_rpc_error(-8, 'Unknown named parameter', | assert_raises_rpc_error(-8, 'Unknown named parameter', | ||||
node.help, random='getinfo') | node.help, random='getblockchaininfo') | ||||
h = node.getblockhash(height=0) | h = node.getblockhash(height=0) | ||||
node.getblock(blockhash=h) | node.getblock(blockhash=h) | ||||
assert_equal(node.echo(), []) | assert_equal(node.echo(), []) | ||||
assert_equal(node.echo(arg0=0, arg9=9), [0] + [None] * 8 + [9]) | assert_equal(node.echo(arg0=0, arg9=9), [0] + [None] * 8 + [9]) | ||||
assert_equal(node.echo(arg1=1), [None, 1]) | assert_equal(node.echo(arg1=1), [None, 1]) | ||||
assert_equal(node.echo(arg9=None), [None] * 10) | assert_equal(node.echo(arg9=None), [None] * 10) | ||||
assert_equal(node.echo(arg0=0, arg3=3, arg9=9), | assert_equal(node.echo(arg0=0, arg3=3, arg9=9), | ||||
[0] + [None] * 2 + [3] + [None] * 5 + [9]) | [0] + [None] * 2 + [3] + [None] * 5 + [9]) | ||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
NamedArgumentTest().main() | NamedArgumentTest().main() |