Skip to content

Commit 7485b36

Browse files
committed
add/fix some tests for {list,get}receivedby{address,account}
1 parent e491e5b commit 7485b36

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

qa/rpc-tests/confidential_transactions.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def run_test(self):
107107
assert_equal(self.nodes[2].getbalance()["bitcoin"], node2)
108108

109109
# Check 2's listreceivedbyaddress
110-
received_by_address = self.nodes[2].listreceivedbyaddress()
110+
received_by_address = self.nodes[2].listreceivedbyaddress(0, False, False, "bitcoin")
111111
validate_by_address = [(unconfidential_address2, value1 + value3), (unconfidential_address, value0 + value2)]
112112
assert_equal(sorted([(ele['address'], ele['amount']) for ele in received_by_address], key=lambda t: t[0]),
113113
sorted(validate_by_address, key = lambda t: t[0]))
@@ -131,7 +131,7 @@ def run_test(self):
131131
assert_equal(list_unspent[0]['amount']+list_unspent[1]['amount'], value1+value3)
132132
received_by_address = self.nodes[1].listreceivedbyaddress(1, False, True)
133133
assert_equal(len(received_by_address), 1)
134-
assert_equal((received_by_address[0]['address'], received_by_address[0]['amount']),
134+
assert_equal((received_by_address[0]['address'], received_by_address[0]['amount']['bitcoin']),
135135
(unconfidential_address2, value1 + value3))
136136

137137
# Spending a single confidential output and sending it to a
@@ -365,6 +365,16 @@ def run_test(self):
365365
assert_equal(self.nodes[0].getwalletinfo()["balance"][issued["token"]], 1)
366366

367367

368+
# Check for value when receiving defferent assets by same address.
369+
self.nodes[0].sendtoaddress(unconfidential_address2, Decimal('0.00000001'), "", "", False, test_asset)
370+
self.nodes[0].sendtoaddress(unconfidential_address2, Decimal('0.00000002'), "", "", False, test_asset)
371+
self.nodes[0].generate(1)
372+
self.sync_all()
373+
received_by_address = self.nodes[1].listreceivedbyaddress(0, False, True)
374+
multi_asset_amount = [x for x in received_by_address if x['address'] == unconfidential_address2][0]['amount']
375+
assert_equal(multi_asset_amount['bitcoin'], value1 + value3 )
376+
assert_equal(multi_asset_amount[test_asset], Decimal('0.00000003'))
377+
368378
# Check blinded multisig functionality
369379
# Get two pubkeys
370380
blinded_addr = self.nodes[0].getnewaddress()

qa/rpc-tests/receivedby.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ def run_test(self):
5656
self.sync_all()
5757
assert_array_result(self.nodes[1].listreceivedbyaddress(),
5858
{"address":unblinded},
59-
{"address":unblinded, "account":"", "amount":Decimal("0.1"), "confirmations":10, "txids":[txid,]})
59+
{"address":unblinded, "account":"", "amount":{"bitcoin":Decimal("0.1")}, "confirmations":10, "txids":[txid,]})
6060
#With min confidence < 10
6161
assert_array_result(self.nodes[1].listreceivedbyaddress(5),
6262
{"address":unblinded},
63-
{"address":unblinded, "account":"", "amount":Decimal("0.1"), "confirmations":10, "txids":[txid,]})
63+
{"address":unblinded, "account":"", "amount":{"bitcoin":Decimal("0.1")}, "confirmations":10, "txids":[txid,]})
6464
#With min confidence > 10, should not find Tx
6565
assert_array_result(self.nodes[1].listreceivedbyaddress(11),{"blindedaddress":addr},{ },True)
6666

@@ -69,7 +69,7 @@ def run_test(self):
6969
unblinded = self.nodes[1].validateaddress(addr)['unconfidential']
7070
assert_array_result(self.nodes[1].listreceivedbyaddress(0,True),
7171
{"address":unblinded},
72-
{"address":unblinded, "account":"", "amount":0, "confirmations":0, "txids":[]})
72+
{"address":unblinded, "account":"", "amount":{}, "confirmations":0, "txids":[]})
7373

7474
'''
7575
getreceivedbyaddress Test
@@ -106,7 +106,7 @@ def run_test(self):
106106
received_by_account_json = get_sub_array_from_array(self.nodes[1].listreceivedbyaccount(),{"account":account})
107107
if len(received_by_account_json) == 0:
108108
raise AssertionError("No accounts found in node")
109-
balance_by_account = self.nodes[1].getreceivedbyaccount(account)
109+
balance_by_account = self.nodes[1].getreceivedbyaccount(account)["bitcoin"]
110110

111111
txid = self.nodes[0].sendtoaddress(addr, 0.1)
112112
self.sync_all()
@@ -117,7 +117,7 @@ def run_test(self):
117117
received_by_account_json)
118118

119119
# getreceivedbyaddress should return same balance because of 0 confirmations
120-
balance = self.nodes[1].getreceivedbyaccount(account)
120+
balance = self.nodes[1].getreceivedbyaccount(account)["bitcoin"]
121121
if balance != balance_by_account:
122122
raise AssertionError("Wrong balance returned by getreceivedbyaccount, %0.2f"%(balance))
123123

@@ -126,10 +126,10 @@ def run_test(self):
126126
# listreceivedbyaccount should return updated account balance
127127
assert_array_result(self.nodes[1].listreceivedbyaccount(),
128128
{"account":account},
129-
{"account":received_by_account_json["account"], "amount":(received_by_account_json["amount"] + Decimal("0.1"))})
129+
{"account":received_by_account_json["account"], "amount":{"bitcoin":(received_by_account_json["amount"]["bitcoin"] + Decimal("0.1"))}})
130130

131131
# getreceivedbyaddress should return updates balance
132-
balance = self.nodes[1].getreceivedbyaccount(account)
132+
balance = self.nodes[1].getreceivedbyaccount(account)["bitcoin"]
133133
if balance != balance_by_account + Decimal("0.1"):
134134
raise AssertionError("Wrong balance returned by getreceivedbyaccount, %0.2f"%(balance))
135135

@@ -140,12 +140,12 @@ def run_test(self):
140140
raise AssertionError("No accounts found in node")
141141

142142
# Test includeempty of listreceivedbyaccount
143-
if received_by_account_json["amount"] != Decimal("0.0"):
143+
if received_by_account_json["amount"] != {}:
144144
raise AssertionError("Wrong balance returned by listreceivedbyaccount, %0.2f"%(received_by_account_json["amount"]))
145145

146146
# Test getreceivedbyaccount for 0 amount accounts
147147
balance = self.nodes[1].getreceivedbyaccount("mynewaccount")
148-
if balance != Decimal("0.0"):
148+
if balance != {}:
149149
raise AssertionError("Wrong balance returned by getreceivedbyaccount, %0.2f"%(balance))
150150

151151
if __name__ == '__main__':

0 commit comments

Comments
 (0)