From a92e3316b252ffccc284af81484ae528042414bd Mon Sep 17 00:00:00 2001 From: Alexey Karyabkin Date: Tue, 19 Jun 2018 15:08:14 +0400 Subject: [PATCH] added tests for functions derive_xkey and validate_path_level(BIP0032/BIP0044) --- tests/test_bip0032.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tests/test_bip0032.py b/tests/test_bip0032.py index a26d939..4e291cd 100644 --- a/tests/test_bip0032.py +++ b/tests/test_bip0032.py @@ -11,7 +11,7 @@ from pybtc.tools import encode_base58, decode_base58 def test_create_master_key_hdwallet(mnemonic_256): passphrase = ' '.join(mnemonic_256) - seed = create_seed(passphrase, 'P@ssw0rd') + seed = mnemonic_to_seed(passphrase, 'P@ssw0rd') assert seed is not None assert len(seed) == 64 master_key = create_master_key_hdwallet(seed) @@ -109,3 +109,30 @@ def test_deserialize_key(privkey_hdwallet_base58, pubkey_hdwallet_base58, bad_ke pubkey = deserialize_key_hdwallet(bad_key_hdwallet_base58) assert pubkey is None + +def test_derive_xkey(mnemonic_256): + passphrase = ' '.join(mnemonic_256) + seed = mnemonic_to_seed(passphrase, 'P@ssw0rd') + params = [0x8000002C, 0x80000001, 0x80000000] + result = derive_xkey(seed, *params, bip44=True, testnet=True, wif=True) + assert result is not None + assert isinstance(result, str) + assert result[:4] in 'tprv' + + +def test_validate_path_level(): + params = [0x8000002C, 0x80000001, 0x80000000] + testnet = True + assert validate_path_level(params, testnet) + testnet = False + assert not validate_path_level(params, testnet) + params = [0, 0x80000001, 0x80000000] + testnet = True + assert not validate_path_level(params, testnet) + params = [0x8000002C, 0x80000001, 0] + testnet = True + assert not validate_path_level(params, testnet) + params = [] + assert validate_path_level(params, testnet) + +