Changeset View
Changeset View
Standalone View
Standalone View
test/functional/receivedby.py
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
# Copyright (c) 2014-2016 The Bitcoin Core developers | # Copyright (c) 2014-2016 The Bitcoin Core developers | ||||
# Distributed under the MIT software license, see the accompanying | # Distributed under the MIT software license, see the accompanying | ||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php. | # file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
"""Test the listreceivedbyaddress RPC.""" | """Test the listreceivedbyaddress RPC.""" | ||||
from decimal import Decimal | from decimal import Decimal | ||||
from test_framework.test_framework import BitcoinTestFramework | from test_framework.test_framework import BitcoinTestFramework | ||||
from test_framework.util import assert_array_result, assert_equal | from test_framework.util import (assert_array_result, | ||||
assert_equal, | |||||
assert_raises_rpc_error, | |||||
) | |||||
class ReceivedByTest(BitcoinTestFramework): | class ReceivedByTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.num_nodes = 2 | self.num_nodes = 2 | ||||
def run_test(self): | def run_test(self): | ||||
# Generate block to get out of IBD | # Generate block to get out of IBD | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
assert_equal(balance, Decimal("0.1")) | assert_equal(balance, Decimal("0.1")) | ||||
# Bury Tx under 10 block so it will be returned by the default getreceivedbyaddress | # Bury Tx under 10 block so it will be returned by the default getreceivedbyaddress | ||||
self.nodes[1].generate(10) | self.nodes[1].generate(10) | ||||
self.sync_all() | self.sync_all() | ||||
balance = self.nodes[1].getreceivedbyaddress(addr) | balance = self.nodes[1].getreceivedbyaddress(addr) | ||||
assert_equal(balance, Decimal("0.1")) | assert_equal(balance, Decimal("0.1")) | ||||
# Trying to getreceivedby for an address the wallet doesn't own should return an error | |||||
assert_raises_rpc_error(-4, "Address not found in wallet", | |||||
self.nodes[0].getreceivedbyaddress, addr) | |||||
self.log.info("listreceivedbyaccount + getreceivedbyaccount Test") | self.log.info("listreceivedbyaccount + getreceivedbyaccount Test") | ||||
# set pre-state | # set pre-state | ||||
addrArr = self.nodes[1].getnewaddress() | addrArr = self.nodes[1].getnewaddress() | ||||
account = self.nodes[1].getaccount(addrArr) | account = self.nodes[1].getaccount(addrArr) | ||||
received_by_account_json = [ | received_by_account_json = [ | ||||
r for r in self.nodes[1].listreceivedbyaccount() if r["account"] == account][0] | r for r in self.nodes[1].listreceivedbyaccount() if r["account"] == account][0] | ||||
balance_by_account = self.nodes[1].getreceivedbyaccount(account) | balance_by_account = self.nodes[1].getreceivedbyaccount(account) | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |