Skip to content

Commit e4b0dab

Browse files
committed
test: add functional test for tagged MiniWallet instances
1 parent 3162c91 commit e4b0dab

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

test/functional/feature_framework_miniwallet.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
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+
69
from test_framework.blocktools import COINBASE_MATURITY
710
from test_framework.test_framework import BitcoinTestFramework
811
from 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

4866
if __name__ == '__main__':

0 commit comments

Comments
 (0)