@@ -343,11 +343,10 @@ def run_test(self):
343
343
self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , arg_conf_target = 0.1 , arg_estimate_mode = mode , expect_error = (- 8 , msg ))
344
344
assert_raises_rpc_error (- 8 , msg , w0 .send , {w1 .getnewaddress (): 1 }, 0.1 , mode )
345
345
346
- for mode in ["economical" , "conservative" , "btc/kb" , "sat/b" ]:
347
- self .log .debug ("{}" .format (mode ))
348
- for k , v in {"string" : "true" , "object" : {"foo" : "bar" }}.items ():
346
+ for mode in ["economical" , "conservative" ]:
347
+ for k , v in {"string" : "true" , "bool" : True , "object" : {"foo" : "bar" }}.items ():
349
348
self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , conf_target = v , estimate_mode = mode ,
350
- expect_error = (- 3 , "Expected type number for conf_target, got {}" . format ( k ) ))
349
+ expect_error = (- 3 , f "Expected type number for conf_target, got { k } " ))
351
350
352
351
# Test setting explicit fee rate just below the minimum of 1 sat/vB.
353
352
self .log .info ("Explicit fee rate raises RPC error 'fee rate too low' if fee_rate of 0.99999999 is passed" )
@@ -365,6 +364,15 @@ def run_test(self):
365
364
for invalid_value in ["" , 0.000000001 , 1e-09 , 1.111111111 , 1111111111111111 , "31.999999999999999999999" ]:
366
365
self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , fee_rate = invalid_value , expect_error = (- 3 , msg ))
367
366
self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , arg_fee_rate = invalid_value , expect_error = (- 3 , msg ))
367
+ # Test fee_rate out of range (negative number).
368
+ msg = "Amount out of range"
369
+ self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , fee_rate = - 1 , expect_error = (- 3 , msg ))
370
+ self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , arg_fee_rate = - 1 , expect_error = (- 3 , msg ))
371
+ # Test type error.
372
+ msg = "Amount is not a number or string"
373
+ for invalid_value in [True , {"foo" : "bar" }]:
374
+ self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , fee_rate = invalid_value , expect_error = (- 3 , msg ))
375
+ self .test_send (from_wallet = w0 , to_wallet = w1 , amount = 1 , arg_fee_rate = invalid_value , expect_error = (- 3 , msg ))
368
376
369
377
# TODO: Return hex if fee rate is below -maxmempool
370
378
# res = self.test_send(from_wallet=w0, to_wallet=w1, amount=1, conf_target=0.1, estimate_mode="sat/b", add_to_wallet=False)
0 commit comments