You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.1 KiB
55 lines
2.1 KiB
from jmclient import old_mnemonic |
|
|
|
import pytest |
|
|
|
@pytest.mark.parametrize( |
|
"seedphrase, key, valid", |
|
[ |
|
(["spiral", "squeeze", "strain", "sunset", "suspend", "sympathy", |
|
"thigh", "throne", "total", "unseen", "weapon", "weary"], |
|
'0028644c0028644f0028645200286455', |
|
True), |
|
(["pair", "bury", "lung", "swim", "orange", "doctor", "numb", "interest", |
|
"shock", "bloom", "fragile", "screen"], |
|
'fa92999d01431f961a26c876f55d3f6c', |
|
True), |
|
(["check", "squeeze", "strain", "sunset", "suspend", "sympathy", |
|
"thigh", "throne", "total", "unseen", "weapon", "weary"], |
|
'0028644c0028644f0028645200286455', |
|
False), |
|
(["qwerty", "check", "strain", "sunset", "suspend", "sympathy", |
|
"thigh", "throne", "total", "unseen", "weapon", "weary"], |
|
'', |
|
False), |
|
(["", "check", "strain", "sunset", "suspend", "sympathy", |
|
"thigh", "throne", "total", "unseen", "weapon", "weary"], |
|
'', |
|
False), |
|
(["strain", "sunset"], |
|
'', |
|
False), |
|
]) |
|
def test_old_mnemonic(seedphrase, key, valid): |
|
if valid: |
|
assert old_mnemonic.mn_decode(seedphrase) == key |
|
assert old_mnemonic.mn_encode(key) == seedphrase |
|
else: |
|
if len(key) > 0: |
|
#test cases where the seedphrase is valid |
|
#but must not match the provided master private key |
|
assert old_mnemonic.mn_decode(seedphrase) != key |
|
else: |
|
#test cases where the seedphrase is intrinsically invalid |
|
#Already known error condition: an incorrectly short |
|
#word list will NOT throw an error; this is handled by calling code |
|
if len(seedphrase) < 12: |
|
print("For known failure case of seedphrase less than 12: ") |
|
print(old_mnemonic.mn_decode(seedphrase)) |
|
else: |
|
with pytest.raises(Exception) as e_info: |
|
dummy = old_mnemonic.mn_decode(seedphrase) |
|
print("Got this return value from mn_decode: " + str(dummy)) |
|
|
|
|
|
|
|
|
|
|