Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_coinbase_category.py
Show All 13 Lines | |||||
class CoinbaseCategoryTest(BitcoinTestFramework): | class CoinbaseCategoryTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.num_nodes = 1 | self.num_nodes = 1 | ||||
def skip_test_if_missing_module(self): | def skip_test_if_missing_module(self): | ||||
self.skip_if_no_wallet() | self.skip_if_no_wallet() | ||||
def assert_category(self, category, address, txid, skip): | def assert_category(self, category, address, txid, skip): | ||||
assert_array_result(self.nodes[0].listtransactions(skip=skip), | assert_array_result( | ||||
self.nodes[0].listtransactions(skip=skip), | |||||
{"address": address}, | {"address": address}, | ||||
{"category": category}) | {"category": category}, | ||||
assert_array_result(self.nodes[0].listsinceblock()["transactions"], | ) | ||||
assert_array_result( | |||||
self.nodes[0].listsinceblock()["transactions"], | |||||
{"address": address}, | {"address": address}, | ||||
{"category": category}) | {"category": category}, | ||||
assert_array_result(self.nodes[0].gettransaction(txid)["details"], | ) | ||||
assert_array_result( | |||||
self.nodes[0].gettransaction(txid)["details"], | |||||
{"address": address}, | {"address": address}, | ||||
{"category": category}) | {"category": category}, | ||||
) | |||||
def run_test(self): | def run_test(self): | ||||
# Generate one block to an address | # Generate one block to an address | ||||
address = self.nodes[0].getnewaddress() | address = self.nodes[0].getnewaddress() | ||||
self.generatetoaddress(self.nodes[0], 1, address) | self.generatetoaddress(self.nodes[0], 1, address) | ||||
blockhash = self.nodes[0].getbestblockhash() | blockhash = self.nodes[0].getbestblockhash() | ||||
txid = self.nodes[0].getblock(blockhash)["tx"][0] | txid = self.nodes[0].getblock(blockhash)["tx"][0] | ||||
Show All 11 Lines | def run_test(self): | ||||
self.assert_category("generate", address, txid, 100) | self.assert_category("generate", address, txid, 100) | ||||
# Orphan block that paid to address | # Orphan block that paid to address | ||||
self.nodes[0].invalidateblock(blockhash) | self.nodes[0].invalidateblock(blockhash) | ||||
# Coinbase transaction is now orphaned | # Coinbase transaction is now orphaned | ||||
self.assert_category("orphan", address, txid, 100) | self.assert_category("orphan", address, txid, 100) | ||||
if __name__ == '__main__': | if __name__ == "__main__": | ||||
CoinbaseCategoryTest().main() | CoinbaseCategoryTest().main() |