mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-29 18:20:58 +02:00
[tests] move wallet util functions to wallet_util.py
Adds a new wallet_util.py module and moves generic helper functions there: - get_key - get_multisig - test_address
This commit is contained in:
committed by
Amiti Uttarwar
parent
6be64ef02c
commit
2d5f1ea2e3
@ -11,7 +11,7 @@ with and without a label.
|
||||
"""
|
||||
|
||||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import assert_equal
|
||||
from test_framework.wallet_util import test_address
|
||||
|
||||
|
||||
class ImportWithLabel(BitcoinTestFramework):
|
||||
@ -32,11 +32,11 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
address = self.nodes[0].getnewaddress()
|
||||
label = "Test Label"
|
||||
self.nodes[1].importaddress(address, label)
|
||||
address_assert = self.nodes[1].getaddressinfo(address)
|
||||
|
||||
assert_equal(address_assert["iswatchonly"], True)
|
||||
assert_equal(address_assert["ismine"], False)
|
||||
assert_equal(address_assert["label"], label)
|
||||
test_address(self.nodes[1],
|
||||
address,
|
||||
iswatchonly=True,
|
||||
ismine=False,
|
||||
label=label)
|
||||
|
||||
self.log.info(
|
||||
"Import the watch-only address's private key without a "
|
||||
@ -45,7 +45,9 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
priv_key = self.nodes[0].dumpprivkey(address)
|
||||
self.nodes[1].importprivkey(priv_key)
|
||||
|
||||
assert_equal(label, self.nodes[1].getaddressinfo(address)["label"])
|
||||
test_address(self.nodes[1],
|
||||
address,
|
||||
label=label)
|
||||
|
||||
self.log.info(
|
||||
"Test importaddress without label and importprivkey with label."
|
||||
@ -53,11 +55,11 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
self.log.info("Import a watch-only address without a label.")
|
||||
address2 = self.nodes[0].getnewaddress()
|
||||
self.nodes[1].importaddress(address2)
|
||||
address_assert2 = self.nodes[1].getaddressinfo(address2)
|
||||
|
||||
assert_equal(address_assert2["iswatchonly"], True)
|
||||
assert_equal(address_assert2["ismine"], False)
|
||||
assert_equal(address_assert2["label"], "")
|
||||
test_address(self.nodes[1],
|
||||
address2,
|
||||
iswatchonly=True,
|
||||
ismine=False,
|
||||
label="")
|
||||
|
||||
self.log.info(
|
||||
"Import the watch-only address's private key with a "
|
||||
@ -67,18 +69,20 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
label2 = "Test Label 2"
|
||||
self.nodes[1].importprivkey(priv_key2, label2)
|
||||
|
||||
assert_equal(label2, self.nodes[1].getaddressinfo(address2)["label"])
|
||||
test_address(self.nodes[1],
|
||||
address2,
|
||||
label=label2)
|
||||
|
||||
self.log.info("Test importaddress with label and importprivkey with label.")
|
||||
self.log.info("Import a watch-only address with a label.")
|
||||
address3 = self.nodes[0].getnewaddress()
|
||||
label3_addr = "Test Label 3 for importaddress"
|
||||
self.nodes[1].importaddress(address3, label3_addr)
|
||||
address_assert3 = self.nodes[1].getaddressinfo(address3)
|
||||
|
||||
assert_equal(address_assert3["iswatchonly"], True)
|
||||
assert_equal(address_assert3["ismine"], False)
|
||||
assert_equal(address_assert3["label"], label3_addr)
|
||||
test_address(self.nodes[1],
|
||||
address3,
|
||||
iswatchonly=True,
|
||||
ismine=False,
|
||||
label=label3_addr)
|
||||
|
||||
self.log.info(
|
||||
"Import the watch-only address's private key with a "
|
||||
@ -88,7 +92,9 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
label3_priv = "Test Label 3 for importprivkey"
|
||||
self.nodes[1].importprivkey(priv_key3, label3_priv)
|
||||
|
||||
assert_equal(label3_priv, self.nodes[1].getaddressinfo(address3)["label"])
|
||||
test_address(self.nodes[1],
|
||||
address3,
|
||||
label=label3_priv)
|
||||
|
||||
self.log.info(
|
||||
"Test importprivkey won't label new dests with the same "
|
||||
@ -98,15 +104,12 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
address4 = self.nodes[0].getnewaddress()
|
||||
label4_addr = "Test Label 4 for importaddress"
|
||||
self.nodes[1].importaddress(address4, label4_addr)
|
||||
address_assert4 = self.nodes[1].getaddressinfo(address4)
|
||||
|
||||
assert_equal(address_assert4["iswatchonly"], True)
|
||||
assert_equal(address_assert4["ismine"], False)
|
||||
assert_equal(address_assert4["label"], label4_addr)
|
||||
|
||||
self.log.info("Asserts address has no embedded field with dests.")
|
||||
|
||||
assert_equal(address_assert4.get("embedded"), None)
|
||||
test_address(self.nodes[1],
|
||||
address4,
|
||||
iswatchonly=True,
|
||||
ismine=False,
|
||||
label=label4_addr,
|
||||
embedded=None)
|
||||
|
||||
self.log.info(
|
||||
"Import the watch-only address's private key without a "
|
||||
@ -116,16 +119,14 @@ class ImportWithLabel(BitcoinTestFramework):
|
||||
)
|
||||
priv_key4 = self.nodes[0].dumpprivkey(address4)
|
||||
self.nodes[1].importprivkey(priv_key4)
|
||||
address_assert4 = self.nodes[1].getaddressinfo(address4)
|
||||
embedded_addr = self.nodes[1].getaddressinfo(address4)['embedded']['address']
|
||||
|
||||
assert address_assert4.get("embedded")
|
||||
|
||||
bcaddress_assert = self.nodes[1].getaddressinfo(
|
||||
address_assert4["embedded"]["address"]
|
||||
)
|
||||
|
||||
assert_equal(address_assert4["label"], label4_addr)
|
||||
assert_equal(bcaddress_assert["label"], "")
|
||||
test_address(self.nodes[1],
|
||||
embedded_addr,
|
||||
label="")
|
||||
test_address(self.nodes[1],
|
||||
address4,
|
||||
label=label4_addr)
|
||||
|
||||
self.stop_nodes()
|
||||
|
||||
|
Reference in New Issue
Block a user