cmdtest regtest: add empty wallet, no balance tests

This commit is contained in:
The MMGen Project 2024-03-06 11:05:21 +00:00
commit 649eb141a8
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
3 changed files with 27 additions and 7 deletions

View file

@ -51,7 +51,7 @@ class BitcoinTwRPC(TwRPC):
acct_labels = [get_tw_label(self.proto,a) for a in await get_acct_list()]
if not acct_labels:
return None
return []
check_dup_mmid(acct_labels)

View file

@ -262,7 +262,7 @@ class TwView(MMGenObject,metaclass=AsyncInit):
rpc_data = await self.get_rpc_data()
if not rpc_data:
die(0,fmt(self.no_rpcdata_errmsg).strip())
die(1,fmt(self.no_rpcdata_errmsg).strip())
lbl_id = ('account','label')['label_api' in self.rpc.caps]

View file

@ -202,9 +202,13 @@ class CmdTestRegtest(CmdTestBase,CmdTestShared):
),
'init_bob': (
'creating Bob’s MMGen wallet and tracking wallet',
('walletgen_bob', 'wallet generation (Bob)'),
('addrgen_bob', 'address generation (Bob)'),
('addrimport_bob', "importing Bob's addresses"),
('bob_twview_noaddrs', 'viewing Bob’s unspent outputs (error, no addrs)'),
('bob_listaddrs_noaddrs', 'viewing Bob’s addresses (error, no addrs)'),
('walletgen_bob', 'wallet generation (Bob)'),
('addrgen_bob', 'address generation (Bob)'),
('addrimport_bob', "importing Bob's addresses"),
('bob_twview_nobal', 'viewing Bob’s unspent outputs (error, no balance)'),
('bob_listaddrs_nobal', 'viewing Bob’s addresses (OK, no balance)'),
),
'init_alice': (
'creating Alice’s MMGen wallet and tracking wallet',
@ -699,12 +703,28 @@ class CmdTestRegtest(CmdTestBase,CmdTestShared):
def fund_alice(self):
return self.fund_wallet('alice',('L','S')[self.proto.cap('segwit')],rtFundAmt)
def user_twview(self,user,chk,sort='age'):
t = self.spawn('mmgen-tool',['--'+user,'twview','sort='+sort])
def user_twview(self, user, chk=None, expect=None, cmdline=['twview'], sort='age', exit_val=None):
t = self.spawn('mmgen-tool',[f'--{user}'] + cmdline + ['sort='+sort])
if chk:
t.expect(r'{}\b.*\D{}\b'.format(*chk),regex=True)
if expect:
t.expect(expect)
if exit_val:
t.req_exit_val = exit_val
return t
def bob_twview_noaddrs(self):
return self.user_twview('bob', expect='No spendable', exit_val=1)
def bob_listaddrs_noaddrs(self):
return self.user_twview('bob', cmdline=['listaddresses'], expect='No addresses', exit_val=1)
def bob_twview_nobal(self):
return self.user_twview('bob', expect='No spendable', exit_val=1)
def bob_listaddrs_nobal(self):
return self.user_twview('bob', cmdline=['listaddresses'], expect='TOTAL:')
def bob_twview1(self):
return self.user_twview('bob', chk = ('1',rtAmts[0]) )