mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-08 07:18:47 +00:00
Fix vault initialization in save_and_encrypt_seed
This commit is contained in:
@@ -687,9 +687,13 @@ class PasswordManager:
|
||||
password,
|
||||
self.encryption_mode,
|
||||
)
|
||||
|
||||
# Re-initialize EncryptionManager with the new key and fingerprint_dir
|
||||
self.encryption_manager = EncryptionManager(key, fingerprint_dir)
|
||||
|
||||
# Initialize the vault now that encryption manager is available
|
||||
self.vault = Vault(self.encryption_manager, fingerprint_dir)
|
||||
|
||||
# Store the hashed password
|
||||
self.store_hashed_password(password)
|
||||
logging.info("User password hashed and stored successfully.")
|
||||
|
33
src/tests/test_vault_initialization.py
Normal file
33
src/tests/test_vault_initialization.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from tempfile import TemporaryDirectory
|
||||
from unittest.mock import patch
|
||||
|
||||
sys.path.append(str(Path(__file__).resolve().parents[1]))
|
||||
|
||||
from password_manager.manager import PasswordManager, EncryptionMode
|
||||
from password_manager.vault import Vault
|
||||
|
||||
VALID_SEED = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
|
||||
|
||||
|
||||
def test_save_and_encrypt_seed_initializes_vault(monkeypatch):
|
||||
with TemporaryDirectory() as tmpdir:
|
||||
tmp_path = Path(tmpdir)
|
||||
pm = PasswordManager.__new__(PasswordManager)
|
||||
pm.encryption_mode = EncryptionMode.SEED_ONLY
|
||||
pm.vault = None
|
||||
pm.config_manager = None
|
||||
pm.current_fingerprint = "fp"
|
||||
|
||||
monkeypatch.setattr(
|
||||
"password_manager.manager.prompt_for_password", lambda: "pw"
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
"password_manager.manager.NostrClient", lambda *a, **kw: object()
|
||||
)
|
||||
|
||||
pm.save_and_encrypt_seed(VALID_SEED, tmp_path)
|
||||
|
||||
assert isinstance(pm.vault, Vault)
|
||||
assert pm.entry_manager is not None
|
Reference in New Issue
Block a user