3 changed files with 82 additions and 67 deletions
@ -1,71 +1,84 @@
|
||||
# -*- coding: utf-8 -*- |
||||
|
||||
from electrum.plugins.joinmarket.jmclient.wallet_utils import ( |
||||
WalletView, WalletViewAccount, WalletViewBranch, WalletViewEntry) |
||||
WalletView, WalletViewAccount, WalletViewBranch, WalletViewEntry, |
||||
wallet_display) |
||||
|
||||
from electrum.plugins.joinmarket.tests import JMTestCase |
||||
|
||||
def test_walletview(): |
||||
rootpath = "m/0" |
||||
walletbranch = 0 |
||||
accounts = range(3) |
||||
acctlist = [] |
||||
for a in accounts: |
||||
branches = [] |
||||
for address_type in range(2): |
||||
entries = [] |
||||
for i in range(4): |
||||
entries.append( |
||||
WalletViewEntry( |
||||
rootpath, a, address_type, i, |
||||
"DUMMYADDRESS" + str(i+a), [i*10000000, i*10000000])) |
||||
branches.append( |
||||
WalletViewBranch( |
||||
rootpath, a, address_type, branchentries=entries, |
||||
xpub="xpubDUMMYXPUB" + str(a + address_type))) |
||||
acctlist.append(WalletViewAccount(rootpath, a, branches=branches)) |
||||
wallet = WalletView(rootpath + "/" + str(walletbranch), accounts=acctlist) |
||||
assert wallet.serialize() == ( |
||||
'JM wallet\n' |
||||
'mixdepth\t0\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB0\n' |
||||
'm/0 \tDUMMYADDRESS0\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB1\n' |
||||
'm/0 \tDUMMYADDRESS0\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 0:\t1.20000000\n' |
||||
'mixdepth\t1\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB1\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB2\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 1:\t1.20000000\n' |
||||
'mixdepth\t2\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB2\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS5\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB3\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS5\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 2:\t1.20000000\n' |
||||
'Total balance:\t3.60000000') |
||||
|
||||
class WalletUtilsTestCase(JMTestCase): |
||||
|
||||
async def test_walletview(self): |
||||
rootpath = "m/0" |
||||
walletbranch = 0 |
||||
accounts = range(3) |
||||
acctlist = [] |
||||
for a in accounts: |
||||
branches = [] |
||||
for address_type in range(2): |
||||
entries = [] |
||||
for i in range(4): |
||||
entries.append( |
||||
WalletViewEntry( |
||||
rootpath, a, address_type, i, |
||||
"DUMMYADDRESS" + str(i+a), |
||||
[i*10000000, i*10000000])) |
||||
branches.append( |
||||
WalletViewBranch( |
||||
rootpath, a, address_type, branchentries=entries, |
||||
xpub="xpubDUMMYXPUB" + str(a + address_type))) |
||||
acctlist.append(WalletViewAccount(rootpath, a, branches=branches)) |
||||
wallet = WalletView(rootpath + "/" + str(walletbranch), |
||||
accounts=acctlist) |
||||
assert wallet.serialize() == ( |
||||
'JM wallet\n' |
||||
'mixdepth\t0\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB0\n' |
||||
'm/0 \tDUMMYADDRESS0\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB1\n' |
||||
'm/0 \tDUMMYADDRESS0\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 0:\t1.20000000\n' |
||||
'mixdepth\t1\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB1\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB2\n' |
||||
'm/0 \tDUMMYADDRESS1\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 1:\t1.20000000\n' |
||||
'mixdepth\t2\n' |
||||
'external addresses\tm/0\txpubDUMMYXPUB2\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS5\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'internal addresses\tm/0\txpubDUMMYXPUB3\n' |
||||
'm/0 \tDUMMYADDRESS2\t0.00000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS3\t0.10000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS4\t0.20000000\tnew\t\t\n' |
||||
'm/0 \tDUMMYADDRESS5\t0.30000000\tnew\t\t\n' |
||||
'Balance:\t0.60000000\n' |
||||
'Balance for mixdepth 2:\t1.20000000\n' |
||||
'Total balance:\t3.60000000') |
||||
|
||||
async def test_wallet_display(self): |
||||
jmman = self.jmman |
||||
wallet_display( |
||||
jmman, showprivkey=True, displayall=True, serialized=True, |
||||
summarized=True, mixdepth=None, jsonified=False) |
||||
|
||||
Loading…
Reference in new issue