mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-07 14:58:56 +00:00
Ensure generate_test_profile creates app dir
This commit is contained in:
@@ -22,7 +22,7 @@ SRC_DIR = PROJECT_ROOT / "src"
|
||||
if str(SRC_DIR) not in sys.path:
|
||||
sys.path.insert(0, str(SRC_DIR))
|
||||
|
||||
from constants import APP_DIR
|
||||
from constants import APP_DIR, initialize_app
|
||||
from utils.key_derivation import derive_key_from_password, derive_index_key
|
||||
from password_manager.encryption import EncryptionManager
|
||||
from password_manager.vault import Vault
|
||||
@@ -39,6 +39,7 @@ DEFAULT_PASSWORD = "testpassword"
|
||||
|
||||
def initialize_profile(profile_name: str) -> tuple[str, EntryManager, Path, str]:
|
||||
"""Create or load a profile and return the seed phrase, manager, directory and fingerprint."""
|
||||
initialize_app()
|
||||
seed_txt = APP_DIR / f"{profile_name}_seed.txt"
|
||||
if seed_txt.exists():
|
||||
seed_phrase = seed_txt.read_text().strip()
|
||||
|
32
src/tests/test_generate_test_profile.py
Normal file
32
src/tests/test_generate_test_profile.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import importlib
|
||||
from pathlib import Path
|
||||
from tempfile import TemporaryDirectory
|
||||
import importlib.util
|
||||
|
||||
|
||||
def test_initialize_profile_creates_directories(monkeypatch):
|
||||
with TemporaryDirectory() as tmpdir:
|
||||
tmp_path = Path(tmpdir)
|
||||
# Mock home directory so APP_DIR is within tmp_path
|
||||
monkeypatch.setattr(Path, "home", lambda: tmp_path)
|
||||
|
||||
# Reload constants to use the mocked home directory
|
||||
constants = importlib.import_module("constants")
|
||||
importlib.reload(constants)
|
||||
# Load the script module directly from its path
|
||||
script_path = (
|
||||
Path(__file__).resolve().parents[2] / "scripts" / "generate_test_profile.py"
|
||||
)
|
||||
spec = importlib.util.spec_from_file_location(
|
||||
"generate_test_profile", script_path
|
||||
)
|
||||
gtp = importlib.util.module_from_spec(spec)
|
||||
assert spec.loader is not None
|
||||
spec.loader.exec_module(gtp)
|
||||
|
||||
seed, mgr, dir_path, fingerprint = gtp.initialize_profile("test")
|
||||
|
||||
assert constants.APP_DIR.exists()
|
||||
assert (constants.APP_DIR / "test_seed.txt").exists()
|
||||
assert dir_path.exists()
|
||||
assert dir_path.name == fingerprint
|
Reference in New Issue
Block a user