2 # Copyright (c) 2016 The Bitcoin Core developers
3 # Distributed under the MIT software license, see the accompanying
4 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 """Test using named arguments for RPCs."""
7 from test_framework
.test_framework
import BitcoinTestFramework
8 from test_framework
.util
import (
10 assert_raises_jsonrpc
,
14 class NamedArgumentTest(BitcoinTestFramework
):
16 Test named arguments on RPC calls.
21 self
.setup_clean_chain
= False
26 h
= node
.help(command
='getinfo')
27 assert(h
.startswith('getinfo\n'))
29 assert_raises_jsonrpc(-8, 'Unknown named parameter', node
.help, random
='getinfo')
31 h
= node
.getblockhash(height
=0)
32 node
.getblock(blockhash
=h
)
34 assert_equal(node
.echo(), [])
35 assert_equal(node
.echo(arg0
=0,arg9
=9), [0] + [None]*8 + [9])
36 assert_equal(node
.echo(arg1
=1), [None, 1])
37 assert_equal(node
.echo(arg9
=None), [None]*10)
38 assert_equal(node
.echo(arg0
=0,arg3
=3,arg9
=9), [0] + [None]*2 + [3] + [None]*5 + [9])
40 if __name__
== '__main__':
41 NamedArgumentTest().main()