88from electrum .daemon import Daemon
99
1010from . import ElectrumTestCase
11+ from .test_wallet_vertical import UNICODE_HORROR
1112
1213
1314class NetworkMock :
@@ -145,8 +146,9 @@ async def test_create_standard_wallet_newseed(self):
145146 v = w .resolve_next (v .view , d )
146147 self .assertEqual ('create_seed' , v .view )
147148
148- d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : False , 'seed_variant' : 'electrum' ,
149- 'seed_extra_words' : False })
149+ d .update ({
150+ 'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : False , 'seed_variant' : 'electrum' ,
151+ })
150152 v = w .resolve_next (v .view , d )
151153 self .assertEqual ('confirm_seed' , v .view )
152154
@@ -174,13 +176,13 @@ async def test_create_standard_wallet_newseed_passphrase(self):
174176 v = w .resolve_next (v .view , d )
175177 self .assertEqual ('create_seed' , v .view )
176178
177- d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : True ,
178- 'seed_variant' : 'electrum' ,
179- 'seed_extra_words' : False })
180-
179+ d .update ({
180+ 'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : True , 'seed_variant' : 'electrum' ,
181+ })
181182 v = w .resolve_next (v .view , d )
182183 self .assertEqual ('create_ext' , v .view )
183184
185+ d .update ({'seed_extra_words' : UNICODE_HORROR })
184186 v = w .resolve_next (v .view , d )
185187 self .assertEqual ('confirm_seed' , v .view )
186188
@@ -198,6 +200,8 @@ async def test_create_standard_wallet_newseed_passphrase(self):
198200 w .create_storage (wallet_path , d )
199201
200202 self .assertTrue (os .path .exists (wallet_path ))
203+ wallet = Daemon ._load_wallet (wallet_path , password = None , config = self .config )
204+ self .assertEqual ("bc1qgvx24uzdv4mapfmtlu8azty5fxdcw9ghxu4pr4" , wallet .get_receiving_addresses ()[0 ])
201205
202206 async def test_create_standard_wallet_haveseed_electrum (self ):
203207 w = self .wizard_for (name = 'test_standard_wallet' , wallet_type = 'standard' )
@@ -209,8 +213,7 @@ async def test_create_standard_wallet_haveseed_electrum(self):
209213 v = w .resolve_next (v .view , d )
210214 self .assertEqual ('have_seed' , v .view )
211215
212- d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : False , 'seed_variant' : 'electrum' ,
213- 'seed_extra_words' : False })
216+ d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : False , 'seed_variant' : 'electrum' })
214217 v = w .resolve_next (v .view , d )
215218 self .assertEqual ('wallet_password' , v .view )
216219
@@ -235,12 +238,11 @@ async def test_create_standard_wallet_haveseed_electrum_passphrase(self):
235238 v = w .resolve_next (v .view , d )
236239 self .assertEqual ('have_seed' , v .view )
237240
238- d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : True , 'seed_variant' : 'electrum' ,
239- 'seed_extra_words' : False })
240-
241+ d .update ({'seed' : '9dk' , 'seed_type' : 'segwit' , 'seed_extend' : True , 'seed_variant' : 'electrum' })
241242 v = w .resolve_next (v .view , d )
242243 self .assertEqual ('have_ext' , v .view )
243244
245+ d .update ({'seed_extra_words' : UNICODE_HORROR })
244246 v = w .resolve_next (v .view , d )
245247 self .assertEqual ('wallet_password' , v .view )
246248
@@ -252,6 +254,8 @@ async def test_create_standard_wallet_haveseed_electrum_passphrase(self):
252254 w .create_storage (wallet_path , d )
253255
254256 self .assertTrue (os .path .exists (wallet_path ))
257+ wallet = Daemon ._load_wallet (wallet_path , password = None , config = self .config )
258+ self .assertEqual ("bc1qgvx24uzdv4mapfmtlu8azty5fxdcw9ghxu4pr4" , wallet .get_receiving_addresses ()[0 ])
255259
256260 async def test_create_standard_wallet_haveseed_bip39 (self ):
257261 w = self .wizard_for (name = 'test_standard_wallet' , wallet_type = 'standard' )
@@ -263,8 +267,7 @@ async def test_create_standard_wallet_haveseed_bip39(self):
263267 v = w .resolve_next (v .view , d )
264268 self .assertEqual ('have_seed' , v .view )
265269
266- d .update ({'seed' : '9dk' , 'seed_type' : 'bip39' , 'seed_extend' : False , 'seed_variant' : 'bip39' ,
267- 'seed_extra_words' : False })
270+ d .update ({'seed' : '9dk' , 'seed_type' : 'bip39' , 'seed_extend' : False , 'seed_variant' : 'bip39' })
268271 v = w .resolve_next (v .view , d )
269272 self .assertEqual ('script_and_derivation' , v .view )
270273
@@ -283,7 +286,44 @@ async def test_create_standard_wallet_haveseed_bip39(self):
283286 wallet = Daemon ._load_wallet (wallet_path , password = None , config = self .config )
284287 self .assertEqual ("bc1qrjr8qn4669jgr3s34f2pyj9awhz02eyvk5eh8g" , wallet .get_receiving_addresses ()[0 ])
285288
286- async def test_2fa (self ):
289+ async def test_2fa_haveseed (self ):
290+ self .assertTrue (self .config .get ('enable_plugin_trustedcoin' ))
291+ w = self .wizard_for (name = 'test_2fa_wallet' , wallet_type = '2fa' )
292+ v = w ._current
293+ d = v .wizard_data
294+ self .assertEqual ('trustedcoin_start' , v .view )
295+
296+ v = w .resolve_next (v .view , d )
297+ self .assertEqual ('trustedcoin_choose_seed' , v .view )
298+ d .update ({'keystore_type' : 'haveseed' })
299+ v = w .resolve_next (v .view , d )
300+ self .assertEqual ('trustedcoin_have_seed' , v .view )
301+ d .update ({
302+ 'seed' : 'oblige basket safe educate whale bacon celery demand novel slice various awkward' ,
303+ 'seed_type' : '2fa' , 'seed_extend' : False , 'seed_variant' : 'electrum' ,
304+ })
305+ v = w .resolve_next (v .view , d )
306+ self .assertEqual ('trustedcoin_keep_disable' , v .view )
307+ d .update ({'trustedcoin_keepordisable' : 'keep' })
308+ v = w .resolve_next (v .view , d )
309+ self .assertEqual ('trustedcoin_tos' , v .view )
310+ v = w .resolve_next (v .view , d )
311+ self .assertEqual ('trustedcoin_show_confirm_otp' , v .view )
312+ v = w .resolve_next (v .view , d )
313+ self .assertEqual ('wallet_password' , v .view )
314+
315+ d .update ({'password' : None , 'encrypt' : False })
316+ self .assertTrue (w .is_last_view (v .view , d ))
317+ v = w .resolve_next (v .view , d )
318+
319+ wallet_path = os .path .join (w ._daemon .config .get_datadir_wallet_path (), d ['wallet_name' ])
320+ w .create_storage (wallet_path , d )
321+
322+ self .assertTrue (os .path .exists (wallet_path ))
323+ wallet = Daemon ._load_wallet (wallet_path , password = None , config = self .config )
324+ self .assertEqual ("bc1qnf5qafvpx0afk47433j3tt30pqkxp5wa263m77wt0pvyqq67rmfs522m94" , wallet .get_receiving_addresses ()[0 ])
325+
326+ async def test_2fa_haveseed_passphrase (self ):
287327 self .assertTrue (self .config .get ('enable_plugin_trustedcoin' ))
288328 w = self .wizard_for (name = 'test_2fa_wallet' , wallet_type = '2fa' )
289329 v = w ._current
@@ -298,10 +338,10 @@ async def test_2fa(self):
298338 d .update ({
299339 'seed' : 'oblige basket safe educate whale bacon celery demand novel slice various awkward' ,
300340 'seed_type' : '2fa' , 'seed_extend' : True , 'seed_variant' : 'electrum' ,
301- 'seed_extra_words' : False
302341 })
303342 v = w .resolve_next (v .view , d )
304343 self .assertEqual ('trustedcoin_have_ext' , v .view )
344+ d .update ({'seed_extra_words' : UNICODE_HORROR })
305345 v = w .resolve_next (v .view , d )
306346 self .assertEqual ('trustedcoin_keep_disable' , v .view )
307347 d .update ({'trustedcoin_keepordisable' : 'keep' })
@@ -321,4 +361,5 @@ async def test_2fa(self):
321361
322362 self .assertTrue (os .path .exists (wallet_path ))
323363 wallet = Daemon ._load_wallet (wallet_path , password = None , config = self .config )
324- self .assertEqual ("bc1qnf5qafvpx0afk47433j3tt30pqkxp5wa263m77wt0pvyqq67rmfs522m94" , wallet .get_receiving_addresses ()[0 ])
364+ self .assertEqual ("bc1qcnu9ay4v3w0tawuxe6wlh6mh33rrpauqnufdgkxx7we8vpx3e6wqa25qud" , wallet .get_receiving_addresses ()[0 ])
365+
0 commit comments