Skip to content

Commit 29e1dfb

Browse files
committed
[test] Add bitcoin-cli -stdin and -stdinrpcpass functional tests
1 parent ce379b4 commit 29e1dfb

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

test/functional/bitcoin_cli.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
55
"""Test bitcoin-cli"""
66
from test_framework.test_framework import BitcoinTestFramework
7-
from test_framework.util import assert_equal
7+
from test_framework.util import assert_equal, assert_raises_process_error, get_auth_cookie
88

99
class TestBitcoinCli(BitcoinTestFramework):
1010

@@ -16,16 +16,24 @@ def run_test(self):
1616
"""Main test logic"""
1717

1818
self.log.info("Compare responses from gewalletinfo RPC and `bitcoin-cli getwalletinfo`")
19-
cli_get_info = self.nodes[0].cli.getwalletinfo()
20-
rpc_get_info = self.nodes[0].getwalletinfo()
21-
22-
assert_equal(cli_get_info, rpc_get_info)
19+
cli_response = self.nodes[0].cli.getwalletinfo()
20+
rpc_response = self.nodes[0].getwalletinfo()
21+
assert_equal(cli_response, rpc_response)
2322

2423
self.log.info("Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`")
25-
cli_get_info = self.nodes[0].cli.getblockchaininfo()
26-
rpc_get_info = self.nodes[0].getblockchaininfo()
24+
cli_response = self.nodes[0].cli.getblockchaininfo()
25+
rpc_response = self.nodes[0].getblockchaininfo()
26+
assert_equal(cli_response, rpc_response)
27+
28+
user, password = get_auth_cookie(self.nodes[0].datadir)
29+
30+
self.log.info("Test -stdinrpcpass option")
31+
assert_equal(0, self.nodes[0].cli('-rpcuser=%s' % user, '-stdinrpcpass', input=password).getblockcount())
32+
assert_raises_process_error(1, "incorrect rpcuser or rpcpassword", self.nodes[0].cli('-rpcuser=%s' % user, '-stdinrpcpass', input="foo").echo)
2733

28-
assert_equal(cli_get_info, rpc_get_info)
34+
self.log.info("Test -stdin and -stdinrpcpass")
35+
assert_equal(["foo", "bar"], self.nodes[0].cli('-rpcuser=%s' % user, '-stdin', '-stdinrpcpass', input=password + "\nfoo\nbar").echo())
36+
assert_raises_process_error(1, "incorrect rpcuser or rpcpassword", self.nodes[0].cli('-rpcuser=%s' % user, '-stdin', '-stdinrpcpass', input="foo").echo)
2937

3038
if __name__ == '__main__':
3139
TestBitcoinCli().main()

0 commit comments

Comments
 (0)