Files
seedPass/src/tests/test_seed_import.py
2025-08-03 09:37:59 -04:00

28 lines
1001 B
Python

import sys
from pathlib import Path
from tempfile import TemporaryDirectory
from helpers import TEST_PASSWORD
from utils.key_derivation import derive_key_from_password
from utils.fingerprint import generate_fingerprint
from mnemonic import Mnemonic
sys.path.append(str(Path(__file__).resolve().parents[1]))
from seedpass.core.encryption import EncryptionManager
from seedpass.core.manager import PasswordManager, EncryptionMode
def test_seed_encryption_round_trip():
with TemporaryDirectory() as tmpdir:
seed = Mnemonic("english").generate(strength=128)
fp = generate_fingerprint(seed)
key = derive_key_from_password(TEST_PASSWORD, fp)
enc_mgr = EncryptionManager(key, Path(tmpdir))
enc_mgr.encrypt_parent_seed(seed)
decrypted = enc_mgr.decrypt_parent_seed()
assert decrypted == seed
pm = PasswordManager.__new__(PasswordManager)
pm.encryption_mode = EncryptionMode.SEED_ONLY
assert pm.validate_bip85_seed(seed)