33# Distributed under the MIT software license, see the accompanying
44# file COPYING or http://www.opensource.org/licenses/mit-license.php.
55"""Test MiniWallet."""
6+ import random
7+ import string
8+
69from test_framework .blocktools import COINBASE_MATURITY
710from test_framework .test_framework import BitcoinTestFramework
811from test_framework .util import (
@@ -31,6 +34,20 @@ def test_tx_padding(self):
3134 assert_greater_than_or_equal (tx .get_weight (), target_weight )
3235 assert_greater_than_or_equal (target_weight + 3 , tx .get_weight ())
3336
37+ def test_wallet_tagging (self ):
38+ """Verify that tagged wallet instances are able to send funds."""
39+ self .log .info (f"Test tagged wallet instances..." )
40+ node = self .nodes [0 ]
41+ untagged_wallet = self .wallets [0 ][1 ]
42+ for i in range (10 ):
43+ tag = '' .join (random .choice (string .ascii_letters ) for _ in range (20 ))
44+ self .log .debug (f"-> ({ i } ) tag name: { tag } " )
45+ tagged_wallet = MiniWallet (node , tag_name = tag )
46+ untagged_wallet .send_to (from_node = node , scriptPubKey = tagged_wallet .get_scriptPubKey (), amount = 100000 )
47+ tagged_wallet .rescan_utxos ()
48+ tagged_wallet .send_self_transfer (from_node = node )
49+ self .generate (node , 1 ) # clear mempool
50+
3451 def run_test (self ):
3552 node = self .nodes [0 ]
3653 self .wallets = [
@@ -43,6 +60,7 @@ def run_test(self):
4360 self .generate (wallet , COINBASE_MATURITY )
4461
4562 self .test_tx_padding ()
63+ self .test_wallet_tagging ()
4664
4765
4866if __name__ == '__main__' :
0 commit comments