From bb6a1416769bc2745bbb82826f421c461a2c5582 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Thu, 3 Jul 2025 12:38:19 -0400 Subject: [PATCH] Add test for additional backup path --- src/tests/test_additional_backup.py | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/tests/test_additional_backup.py diff --git a/src/tests/test_additional_backup.py b/src/tests/test_additional_backup.py new file mode 100644 index 0000000..5597394 --- /dev/null +++ b/src/tests/test_additional_backup.py @@ -0,0 +1,37 @@ +import time +from pathlib import Path +from tempfile import TemporaryDirectory + +from helpers import create_vault, TEST_SEED, TEST_PASSWORD + +from password_manager.entry_management import EntryManager +from password_manager.backup import BackupManager +from password_manager.config_manager import ConfigManager + + +def test_entry_manager_additional_backup(monkeypatch): + with TemporaryDirectory() as tmpdir, TemporaryDirectory() as extra: + fp_dir = Path(tmpdir) + vault, _ = create_vault(fp_dir, TEST_SEED, TEST_PASSWORD) + cfg_mgr = ConfigManager(vault, fp_dir) + cfg_mgr.set_additional_backup_path(extra) + backup_mgr = BackupManager(fp_dir, cfg_mgr) + entry_mgr = EntryManager(vault, backup_mgr) + + monkeypatch.setattr(time, "time", lambda: 1111) + entry_mgr.add_entry("example.com", 12) + + backup = fp_dir / "backups" / "entries_db_backup_1111.json.enc" + extra_file = Path(extra) / f"{fp_dir.name}_entries_db_backup_1111.json.enc" + assert backup.exists() + assert extra_file.exists() + + cfg_mgr.set_additional_backup_path(None) + + monkeypatch.setattr(time, "time", lambda: 2222) + entry_mgr.add_entry("example.org", 8) + + backup2 = fp_dir / "backups" / "entries_db_backup_2222.json.enc" + assert backup2.exists() + extra_file2 = Path(extra) / f"{fp_dir.name}_entries_db_backup_2222.json.enc" + assert not extra_file2.exists()