From 8967f45927cd6f1a483ca53db1dd908996eede52 Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Sun, 29 Jun 2025 16:45:52 -0400 Subject: [PATCH] Add test for entry add and retrieval --- tests/test_entry_add.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/test_entry_add.py diff --git a/tests/test_entry_add.py b/tests/test_entry_add.py new file mode 100644 index 0000000..27f4fb5 --- /dev/null +++ b/tests/test_entry_add.py @@ -0,0 +1,31 @@ +import sys +from pathlib import Path +from tempfile import TemporaryDirectory +from cryptography.fernet import Fernet + +sys.path.append(str(Path(__file__).resolve().parents[1])) + +from password_manager.encryption import EncryptionManager +from password_manager.entry_management import EntryManager + + +def test_add_and_retrieve_entry(): + with TemporaryDirectory() as tmpdir: + key = Fernet.generate_key() + enc_mgr = EncryptionManager(key, Path(tmpdir)) + entry_mgr = EntryManager(enc_mgr, Path(tmpdir)) + + index = entry_mgr.add_entry("example.com", 12, "user") + entry = entry_mgr.retrieve_entry(index) + + assert entry == { + "website": "example.com", + "length": 12, + "username": "user", + "url": "", + "blacklisted": False, + } + + data = enc_mgr.load_json_data(entry_mgr.index_file) + assert str(index) in data.get("passwords", {}) + assert data["passwords"][str(index)] == entry