diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-12-24 10:23:56 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-12-24 10:24:01 +0100 |
commit | 369978686e156ad34df703f1e60bd90aeaa8f2d6 (patch) | |
tree | 0d44ec5c50c5e9e4887e9636891e297e81562bb1 | |
parent | dada92fed2e8a72d91682e7b000703d7723f73b2 (diff) | |
parent | c27bba96723384488fb6995e21bb43969d94b0f6 (diff) |
Merge bitcoin/bitcoin#23835: test: check for invalid listtransactions RPC parameters
c27bba96723384488fb6995e21bb43969d94b0f6 test: check for invalid listtransactions RPC parameters (Sebastian Falbesoner)
Pull request description:
This PR adds missing test coverage for RPC errors that are thrown if invalid parameters are passed to `listtransactions`:
https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L508
https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L524
https://github.com/bitcoin/bitcoin/blob/887796a5ffcbafcd281b920f8d55fcb6e8347584/src/wallet/rpc/transactions.cpp#L526
ACKs for top commit:
shaavan:
ACK c27bba96723384488fb6995e21bb43969d94b0f6
Tree-SHA512: e5a23590186b4d9663261ff6cea52ac45e9bf2f2ef693c22b3452bb07af9b800fdabc2a94fd2852c686c28214a496d7afe296e41831759f2182feac2482635d0
-rwxr-xr-x | test/functional/wallet_listtransactions.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/functional/wallet_listtransactions.py b/test/functional/wallet_listtransactions.py index 1b29d163c2..f75877f256 100755 --- a/test/functional/wallet_listtransactions.py +++ b/test/functional/wallet_listtransactions.py @@ -16,6 +16,7 @@ from test_framework.test_framework import BitcoinTestFramework from test_framework.util import ( assert_array_result, assert_equal, + assert_raises_rpc_error, ) @@ -107,6 +108,7 @@ class ListTransactionsTest(BitcoinTestFramework): self.run_rbf_opt_in_test() self.run_externally_generated_address_test() + self.run_invalid_parameters_test() def run_rbf_opt_in_test(self): """Test the opt-in-rbf flag for sent and received transactions.""" @@ -275,6 +277,13 @@ class ListTransactionsTest(BitcoinTestFramework): assert_equal(['pizza2'], self.nodes[0].getaddressinfo(addr2)['labels']) assert_equal(['pizza3'], self.nodes[0].getaddressinfo(addr3)['labels']) + def run_invalid_parameters_test(self): + self.log.info("Test listtransactions RPC parameter validity") + assert_raises_rpc_error(-8, 'Label argument must be a valid label name or "*".', self.nodes[0].listtransactions, label="") + self.nodes[0].listtransactions(label="*") + assert_raises_rpc_error(-8, "Negative count", self.nodes[0].listtransactions, count=-1) + assert_raises_rpc_error(-8, "Negative from", self.nodes[0].listtransactions, skip=-1) + if __name__ == '__main__': ListTransactionsTest().main() |