@@ -45,10 +45,44 @@ def run_test(self):
45
45
assert_array_result (self .nodes [1 ].listreceivedbyaddress (11 ), {"address" : addr }, {}, True )
46
46
47
47
# Empty Tx
48
- addr = self .nodes [1 ].getnewaddress ()
48
+ empty_addr = self .nodes [1 ].getnewaddress ()
49
49
assert_array_result (self .nodes [1 ].listreceivedbyaddress (0 , True ),
50
- {"address" : addr },
51
- {"address" : addr , "account" : "" , "amount" : 0 , "confirmations" : 0 , "txids" : []})
50
+ {"address" : empty_addr },
51
+ {"address" : empty_addr , "account" : "" , "amount" : 0 , "confirmations" : 0 , "txids" : []})
52
+
53
+ #Test Address filtering
54
+ #Only on addr
55
+ expected = {"address" :addr , "account" :"" , "amount" :Decimal ("0.1" ), "confirmations" :10 , "txids" :[txid ,]}
56
+ res = self .nodes [1 ].listreceivedbyaddress (minconf = 0 , include_empty = True , include_watchonly = True , address_filter = addr )
57
+ assert_array_result (res , {"address" :addr }, expected )
58
+ assert_equal (len (res ), 1 )
59
+ #Error on invalid address
60
+ assert_raises_rpc_error (- 4 , "address_filter parameter was invalid" , self .nodes [1 ].listreceivedbyaddress , minconf = 0 , include_empty = True , include_watchonly = True , address_filter = "bamboozling" )
61
+ #Another address receive money
62
+ res = self .nodes [1 ].listreceivedbyaddress (0 , True , True )
63
+ assert_equal (len (res ), 2 ) #Right now 2 entries
64
+ other_addr = self .nodes [1 ].getnewaddress ()
65
+ txid2 = self .nodes [0 ].sendtoaddress (other_addr , 0.1 )
66
+ self .nodes [0 ].generate (1 )
67
+ self .sync_all ()
68
+ #Same test as above should still pass
69
+ expected = {"address" :addr , "account" :"" , "amount" :Decimal ("0.1" ), "confirmations" :11 , "txids" :[txid ,]}
70
+ res = self .nodes [1 ].listreceivedbyaddress (0 , True , True , addr )
71
+ assert_array_result (res , {"address" :addr }, expected )
72
+ assert_equal (len (res ), 1 )
73
+ #Same test as above but with other_addr should still pass
74
+ expected = {"address" :other_addr , "account" :"" , "amount" :Decimal ("0.1" ), "confirmations" :1 , "txids" :[txid2 ,]}
75
+ res = self .nodes [1 ].listreceivedbyaddress (0 , True , True , other_addr )
76
+ assert_array_result (res , {"address" :other_addr }, expected )
77
+ assert_equal (len (res ), 1 )
78
+ #Should be two entries though without filter
79
+ res = self .nodes [1 ].listreceivedbyaddress (0 , True , True )
80
+ assert_equal (len (res ), 3 ) #Became 3 entries
81
+
82
+ #Not on random addr
83
+ other_addr = self .nodes [0 ].getnewaddress () # note on node[0]! just a random addr
84
+ res = self .nodes [1 ].listreceivedbyaddress (0 , True , True , other_addr )
85
+ assert_equal (len (res ), 0 )
52
86
53
87
self .log .info ("getreceivedbyaddress Test" )
54
88
0 commit comments