aboutsummaryrefslogtreecommitdiff
path: root/test/functional/wallet_sendmany.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/wallet_sendmany.py')
-rwxr-xr-xtest/functional/wallet_sendmany.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/functional/wallet_sendmany.py b/test/functional/wallet_sendmany.py
new file mode 100755
index 0000000000..5751993143
--- /dev/null
+++ b/test/functional/wallet_sendmany.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+# Copyright (c) 2022 The Bitcoin Core developers
+# Distributed under the MIT software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+"""Test the sendmany RPC command."""
+
+from test_framework.test_framework import BitcoinTestFramework
+
+class SendmanyTest(BitcoinTestFramework):
+ # Setup and helpers
+ def add_options(self, parser):
+ self.add_wallet_options(parser)
+
+
+ def skip_test_if_missing_module(self):
+ self.skip_if_no_wallet()
+
+
+ def set_test_params(self):
+ self.num_nodes = 1
+ self.setup_clean_chain = True
+
+ def test_sffo_repeated_address(self):
+ addr_1 = self.wallet.getnewaddress()
+ addr_2 = self.wallet.getnewaddress()
+ addr_3 = self.wallet.getnewaddress()
+
+ self.log.info("Test using duplicate address in SFFO argument")
+ self.def_wallet.sendmany(dummy='', amounts={addr_1: 1, addr_2: 1}, subtractfeefrom=[addr_1, addr_1, addr_1])
+ self.log.info("Test using address not present in tx.vout in SFFO argument")
+ self.def_wallet.sendmany(dummy='', amounts={addr_1: 1, addr_2: 1}, subtractfeefrom=[addr_3])
+
+ def run_test(self):
+ self.nodes[0].createwallet("activewallet")
+ self.wallet = self.nodes[0].get_wallet_rpc("activewallet")
+ self.def_wallet = self.nodes[0].get_wallet_rpc(self.default_wallet_name)
+ self.generate(self.nodes[0], 101)
+
+ self.test_sffo_repeated_address()
+
+
+if __name__ == '__main__':
+ SendmanyTest().main()