123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/usr/bin/env python3
- """
- test.unit_tests_d.ut_addrlist: address list unit tests for the MMGen suite
- """
- from mmgen.common import *
- from mmgen.seed import Seed
- from mmgen.addr import MMGenAddrType
- from mmgen.addrlist import AddrIdxList,AddrList,KeyList,KeyAddrList
- from mmgen.passwdlist import PasswordList
- from mmgen.protocol import init_proto
- def do_test(list_type,chksum,pw_id_str=None,add_kwargs=None):
- qmsg(blue(f'Testing {list_type.__name__}'))
- proto = init_proto('btc')
- seed = Seed(seed_bin=bytes.fromhex('feedbead'*8))
- mmtype = MMGenAddrType(proto,'C')
- idxs = AddrIdxList('1-3')
- kwargs = {
- 'seed': seed,
- 'pw_idxs': idxs,
- 'pw_id_str': pw_id_str,
- 'pw_fmt': 'b58',
- } if pw_id_str else {
- 'seed': seed,
- 'addr_idxs': idxs,
- 'mmtype': mmtype,
- }
- if add_kwargs:
- kwargs.update(add_kwargs)
- al = list_type( proto, **kwargs )
- af = al.get_file()
- af.format()
- qmsg(f'Filename: {af.filename}\n')
- # af.write('-')
- vmsg(f'------------\n{af.fmt_data}\n------------')
- if chksum:
- assert al.chksum == chksum, f'{al.chksum} != {chksum}'
- return True
- class unit_tests:
- def addr(self,name,ut):
- return do_test(AddrList,'BCE8 082C 0973 A525')
- def key(self,name,ut):
- return do_test(KeyList,None)
- def keyaddr(self,name,ut):
- return do_test(KeyAddrList,'4A36 AA65 8C2B 7C35')
- def passwd(self,name,ut):
- return do_test(PasswordList,'FF4A B716 4513 8F8F',pw_id_str='foo')
- def passwd_bip39(self,name,ut):
- return do_test(PasswordList,'C3A8 B2B2 1AA1 FB40',pw_id_str='foo',add_kwargs={'pw_fmt':'bip39'})
|