aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2021-12-24 10:23:56 +0100
committerMarcoFalke <falke.marco@gmail.com>2021-12-24 10:24:01 +0100
commit369978686e156ad34df703f1e60bd90aeaa8f2d6 (patch)
tree0d44ec5c50c5e9e4887e9636891e297e81562bb1
parentdada92fed2e8a72d91682e7b000703d7723f73b2 (diff)
parentc27bba96723384488fb6995e21bb43969d94b0f6 (diff)
downloadbitcoin-369978686e156ad34df703f1e60bd90aeaa8f2d6.tar.xz
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-xtest/functional/wallet_listtransactions.py9
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()