Skip to content

Commit fa48be3

Browse files
author
MarcoFalke
committed
test: Force named args for RPCOverloadWrapper optional args
This can avoid bugs and makes the test code easier to read, because the order of positional args does not have to be known or assumed.
1 parent aaaa453 commit fa48be3

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

test/functional/rpc_psbt.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def test_utxo_conversion(self):
111111
# Mine a transaction that credits the offline address
112112
offline_addr = offline_node.getnewaddress(address_type="bech32m")
113113
online_addr = w2.getnewaddress(address_type="bech32m")
114-
wonline.importaddress(offline_addr, "", False)
114+
wonline.importaddress(offline_addr, label="", rescan=False)
115115
mining_wallet = mining_node.get_wallet_rpc(self.default_wallet_name)
116116
mining_wallet.sendtoaddress(address=offline_addr, amount=1.0)
117117
self.generate(mining_node, nblocks=1, sync_fun=lambda: self.sync_all([online_node, mining_node]))
@@ -312,9 +312,9 @@ def run_test(self):
312312
wmulti = self.nodes[2].get_wallet_rpc('wmulti')
313313

314314
# Create all the addresses
315-
p2sh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], "", "legacy")['address']
316-
p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], "", "bech32")['address']
317-
p2sh_p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], "", "p2sh-segwit")['address']
315+
p2sh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="legacy")["address"]
316+
p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="bech32")["address"]
317+
p2sh_p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="p2sh-segwit")["address"]
318318
p2wpkh = self.nodes[1].getnewaddress("", "bech32")
319319
p2pkh = self.nodes[1].getnewaddress("", "legacy")
320320
p2sh_p2wpkh = self.nodes[1].getnewaddress("", "p2sh-segwit")

test/functional/test_framework/test_node.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -931,50 +931,50 @@ def __init__(self, rpc):
931931
def __getattr__(self, name):
932932
return getattr(self.rpc, name)
933933

934-
def importprivkey(self, privkey, label=None, rescan=None):
934+
def importprivkey(self, privkey, *, label=None, rescan=None):
935935
wallet_info = self.getwalletinfo()
936936
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
937937
return self.__getattr__('importprivkey')(privkey, label, rescan)
938938
desc = descsum_create('combo(' + privkey + ')')
939939
req = [{
940940
'desc': desc,
941941
'timestamp': 0 if rescan else 'now',
942-
'label': label if label else ''
942+
'label': label if label else '',
943943
}]
944944
import_res = self.importdescriptors(req)
945945
if not import_res[0]['success']:
946946
raise JSONRPCException(import_res[0]['error'])
947947

948-
def addmultisigaddress(self, nrequired, keys, label=None, address_type=None):
948+
def addmultisigaddress(self, nrequired, keys, *, label=None, address_type=None):
949949
wallet_info = self.getwalletinfo()
950950
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
951951
return self.__getattr__('addmultisigaddress')(nrequired, keys, label, address_type)
952952
cms = self.createmultisig(nrequired, keys, address_type)
953953
req = [{
954954
'desc': cms['descriptor'],
955955
'timestamp': 0,
956-
'label': label if label else ''
956+
'label': label if label else '',
957957
}]
958958
import_res = self.importdescriptors(req)
959959
if not import_res[0]['success']:
960960
raise JSONRPCException(import_res[0]['error'])
961961
return cms
962962

963-
def importpubkey(self, pubkey, label=None, rescan=None):
963+
def importpubkey(self, pubkey, *, label=None, rescan=None):
964964
wallet_info = self.getwalletinfo()
965965
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
966966
return self.__getattr__('importpubkey')(pubkey, label, rescan)
967967
desc = descsum_create('combo(' + pubkey + ')')
968968
req = [{
969969
'desc': desc,
970970
'timestamp': 0 if rescan else 'now',
971-
'label': label if label else ''
971+
'label': label if label else '',
972972
}]
973973
import_res = self.importdescriptors(req)
974974
if not import_res[0]['success']:
975975
raise JSONRPCException(import_res[0]['error'])
976976

977-
def importaddress(self, address, label=None, rescan=None, p2sh=None):
977+
def importaddress(self, address, *, label=None, rescan=None, p2sh=None):
978978
wallet_info = self.getwalletinfo()
979979
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
980980
return self.__getattr__('importaddress')(address, label, rescan, p2sh)
@@ -988,13 +988,13 @@ def importaddress(self, address, label=None, rescan=None, p2sh=None):
988988
reqs = [{
989989
'desc': desc,
990990
'timestamp': 0 if rescan else 'now',
991-
'label': label if label else ''
991+
'label': label if label else '',
992992
}]
993993
if is_hex and p2sh:
994994
reqs.append({
995995
'desc': descsum_create('p2sh(raw(' + address + '))'),
996996
'timestamp': 0 if rescan else 'now',
997-
'label': label if label else ''
997+
'label': label if label else '',
998998
})
999999
import_res = self.importdescriptors(reqs)
10001000
for res in import_res:

test/functional/wallet_address_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ def run_test(self):
344344
self.test_address(3, self.nodes[3].getrawchangeaddress(), multisig=False, typ='bech32')
345345

346346
self.log.info('test invalid address type arguments')
347-
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].addmultisigaddress, 2, [compressed_1, compressed_2], None, '')
347+
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].addmultisigaddress, 2, [compressed_1, compressed_2], address_type="")
348348
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getnewaddress, None, '')
349349
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getrawchangeaddress, '')
350350
assert_raises_rpc_error(-5, "Unknown address type 'bech23'", self.nodes[3].getrawchangeaddress, 'bech23')

test/functional/wallet_fundrawtransaction.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def test_change_position(self):
192192
watchonly_address = self.nodes[0].getnewaddress()
193193
watchonly_pubkey = self.nodes[0].getaddressinfo(watchonly_address)["pubkey"]
194194
self.watchonly_amount = Decimal(200)
195-
wwatch.importpubkey(watchonly_pubkey, "", True)
195+
wwatch.importpubkey(watchonly_pubkey, label="", rescan=True)
196196
self.watchonly_utxo = self.create_outpoints(self.nodes[0], outputs=[{watchonly_address: self.watchonly_amount}])[0]
197197

198198
# Lock UTXO so nodes[0] doesn't accidentally spend it

test/functional/wallet_labels.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def invalid_label_name_test(self):
4949
assert_equal(response[0]['error']['message'], "Invalid label name")
5050

5151
for rpc_call in rpc_calls:
52-
assert_raises_rpc_error(-11, "Invalid label name", *rpc_call, "*")
52+
assert_raises_rpc_error(-11, "Invalid label name", *rpc_call, label="*")
5353

5454
def run_test(self):
5555
# Check that there's no UTXO on the node

0 commit comments

Comments
 (0)