From 065835d47022f791cebd81626b1b248e2c753c9d Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Sun, 13 Jul 2025 09:20:54 -0400 Subject: [PATCH] Add test for parent seed migration --- src/tests/test_seed_migration.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/tests/test_seed_migration.py diff --git a/src/tests/test_seed_migration.py b/src/tests/test_seed_migration.py new file mode 100644 index 0000000..9fb150a --- /dev/null +++ b/src/tests/test_seed_migration.py @@ -0,0 +1,31 @@ +import sys +from pathlib import Path +from cryptography.fernet import Fernet + +from helpers import TEST_PASSWORD, TEST_SEED +from utils.key_derivation import derive_key_from_password + +sys.path.append(str(Path(__file__).resolve().parents[1])) + +from password_manager.encryption import EncryptionManager + + +def test_parent_seed_migrates_from_fernet(tmp_path: Path) -> None: + key = derive_key_from_password(TEST_PASSWORD) + fernet = Fernet(key) + encrypted = fernet.encrypt(TEST_SEED.encode()) + legacy_file = tmp_path / "parent_seed.enc" + legacy_file.write_bytes(encrypted) + + manager = EncryptionManager(key, tmp_path) + decrypted = manager.decrypt_parent_seed() + + assert decrypted == TEST_SEED + + new_file = tmp_path / "parent_seed.enc" + legacy_backup = tmp_path / "parent_seed.enc.fernet" + + assert new_file.exists() + assert legacy_backup.exists() + assert new_file.read_bytes() != encrypted + assert legacy_backup.read_bytes() == encrypted