mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-10 08:19:23 +00:00
Add key field to key/value entries
This commit is contained in:
@@ -26,7 +26,7 @@ class DummyPM:
|
||||
add_pgp_key=lambda label, seed, index=None, key_type="ed25519", user_id="", notes="": 3,
|
||||
add_nostr_key=lambda label, index=None, notes="": 4,
|
||||
add_seed=lambda label, seed, index=None, words_num=24, notes="": 5,
|
||||
add_key_value=lambda label, value, notes="": 6,
|
||||
add_key_value=lambda label, key, value, notes="": 6,
|
||||
add_managed_account=lambda label, seed, index=None, notes="": 7,
|
||||
modify_entry=lambda *a, **kw: None,
|
||||
archive_entry=lambda i: None,
|
||||
|
@@ -90,8 +90,8 @@ runner = CliRunner()
|
||||
(
|
||||
"add-key-value",
|
||||
"add_key_value",
|
||||
["Label", "--value", "val", "--notes", "note"],
|
||||
("Label", "val"),
|
||||
["Label", "--key", "k1", "--value", "val", "--notes", "note"],
|
||||
("Label", "k1", "val"),
|
||||
{"notes": "note"},
|
||||
"7",
|
||||
),
|
||||
|
@@ -73,7 +73,7 @@ def test_round_trip_entry_types(method, expected_type):
|
||||
entry_mgr.add_totp("example", TEST_SEED)
|
||||
index = 0
|
||||
elif method == "add_key_value":
|
||||
index = entry_mgr.add_key_value("label", "val")
|
||||
index = entry_mgr.add_key_value("label", "k1", "val")
|
||||
else:
|
||||
if method == "add_ssh_key":
|
||||
index = entry_mgr.add_ssh_key("ssh", TEST_SEED)
|
||||
@@ -118,7 +118,7 @@ def test_legacy_entry_defaults_to_password():
|
||||
("add_pgp_key", ("pgp", TEST_SEED)),
|
||||
("add_nostr_key", ("nostr",)),
|
||||
("add_seed", ("seed", TEST_SEED)),
|
||||
("add_key_value", ("label", "val")),
|
||||
("add_key_value", ("label", "k1", "val")),
|
||||
("add_managed_account", ("acct", TEST_SEED)),
|
||||
],
|
||||
)
|
||||
|
@@ -53,16 +53,18 @@ class FakeEntries:
|
||||
self.added.append(("nostr", label))
|
||||
return 1
|
||||
|
||||
def add_key_value(self, label, value):
|
||||
self.added.append(("key_value", label, value))
|
||||
def add_key_value(self, label, key, value):
|
||||
self.added.append(("key_value", label, key, value))
|
||||
return 1
|
||||
|
||||
def add_managed_account(self, label):
|
||||
self.added.append(("managed_account", label))
|
||||
return 1
|
||||
|
||||
def modify_entry(self, entry_id, username=None, url=None, label=None, value=None):
|
||||
self.modified.append((entry_id, username, url, label, value))
|
||||
def modify_entry(
|
||||
self, entry_id, username=None, url=None, label=None, key=None, value=None
|
||||
):
|
||||
self.modified.append((entry_id, username, url, label, key, value))
|
||||
|
||||
|
||||
def setup_module(module):
|
||||
@@ -106,7 +108,7 @@ def test_unlock_creates_main_window():
|
||||
(EntryType.SEED.value, ("seed", "L")),
|
||||
(EntryType.PGP.value, ("pgp", "L")),
|
||||
(EntryType.NOSTR.value, ("nostr", "L")),
|
||||
(EntryType.KEY_VALUE.value, ("key_value", "L", "val")),
|
||||
(EntryType.KEY_VALUE.value, ("key_value", "L", "k1", "val")),
|
||||
(EntryType.MANAGED_ACCOUNT.value, ("managed_account", "L")),
|
||||
],
|
||||
)
|
||||
@@ -123,6 +125,7 @@ def test_entrydialog_add_calls_service(kind, expect):
|
||||
dlg.username_input.value = "u"
|
||||
dlg.url_input.value = "x"
|
||||
dlg.length_input.value = 12
|
||||
dlg.key_input.value = "k1"
|
||||
dlg.value_input.value = "val"
|
||||
dlg.save(None)
|
||||
|
||||
@@ -136,9 +139,9 @@ def test_entrydialog_add_calls_service(kind, expect):
|
||||
@pytest.mark.parametrize(
|
||||
"kind,expected",
|
||||
[
|
||||
(EntryType.PASSWORD.value, (1, "newu", "newx", "New", None)),
|
||||
(EntryType.KEY_VALUE.value, (1, None, None, "New", "val2")),
|
||||
(EntryType.TOTP.value, (1, None, None, "New", None)),
|
||||
(EntryType.PASSWORD.value, (1, "newu", "newx", "New", None, None)),
|
||||
(EntryType.KEY_VALUE.value, (1, None, None, "New", "k2", "val2")),
|
||||
(EntryType.TOTP.value, (1, None, None, "New", None, None)),
|
||||
],
|
||||
)
|
||||
def test_entrydialog_edit_calls_service(kind, expected):
|
||||
@@ -157,6 +160,7 @@ def test_entrydialog_edit_calls_service(kind, expected):
|
||||
dlg.kind_input.value = kind
|
||||
dlg.username_input.value = "newu"
|
||||
dlg.url_input.value = "newx"
|
||||
dlg.key_input.value = "k2"
|
||||
dlg.value_input.value = "val2"
|
||||
dlg.save(None)
|
||||
|
||||
|
@@ -23,12 +23,13 @@ def test_add_and_modify_key_value():
|
||||
tmp_path = Path(tmpdir)
|
||||
em = setup_entry_mgr(tmp_path)
|
||||
|
||||
idx = em.add_key_value("API", "abc123", notes="token")
|
||||
idx = em.add_key_value("API entry", "api_key", "abc123", notes="token")
|
||||
entry = em.retrieve_entry(idx)
|
||||
assert entry == {
|
||||
"type": "key_value",
|
||||
"kind": "key_value",
|
||||
"label": "API",
|
||||
"label": "API entry",
|
||||
"key": "api_key",
|
||||
"value": "abc123",
|
||||
"notes": "token",
|
||||
"archived": False,
|
||||
@@ -36,8 +37,9 @@ def test_add_and_modify_key_value():
|
||||
"tags": [],
|
||||
}
|
||||
|
||||
em.modify_entry(idx, value="def456")
|
||||
em.modify_entry(idx, key="api_key2", value="def456")
|
||||
updated = em.retrieve_entry(idx)
|
||||
assert updated["key"] == "api_key2"
|
||||
assert updated["value"] == "def456"
|
||||
|
||||
results = em.search_entries("def456")
|
||||
|
@@ -38,7 +38,7 @@ def test_handle_list_entries(monkeypatch, capsys):
|
||||
|
||||
entry_mgr.add_totp("Example", TEST_SEED)
|
||||
entry_mgr.add_entry("example.com", 12)
|
||||
entry_mgr.add_key_value("API", "abc123")
|
||||
entry_mgr.add_key_value("API entry", "api", "abc123")
|
||||
entry_mgr.add_managed_account("acct", TEST_SEED)
|
||||
|
||||
inputs = iter(["1", ""]) # list all, then exit
|
||||
@@ -72,7 +72,7 @@ def test_list_entries_show_details(monkeypatch, capsys):
|
||||
pm.secret_mode_enabled = False
|
||||
|
||||
entry_mgr.add_totp("Example", TEST_SEED)
|
||||
entry_mgr.add_key_value("API", "val")
|
||||
entry_mgr.add_key_value("API entry", "api", "val")
|
||||
entry_mgr.add_managed_account("acct", TEST_SEED)
|
||||
|
||||
monkeypatch.setattr(pm.entry_manager, "get_totp_code", lambda *a, **k: "123456")
|
||||
@@ -353,7 +353,7 @@ def test_show_entry_details_sensitive(monkeypatch, capsys, entry_type):
|
||||
)
|
||||
expected = "123456"
|
||||
elif entry_type == "key_value":
|
||||
idx = entry_mgr.add_key_value("API", "abc")
|
||||
idx = entry_mgr.add_key_value("API entry", "api", "abc")
|
||||
expected = "abc"
|
||||
else: # managed_account
|
||||
idx = entry_mgr.add_managed_account("acct", TEST_SEED)
|
||||
@@ -390,8 +390,8 @@ def test_show_entry_details_with_enum_type(monkeypatch, capsys, entry_type):
|
||||
)
|
||||
expect = "Label: Example"
|
||||
else: # KEY_VALUE
|
||||
idx = entry_mgr.add_key_value("API", "abc")
|
||||
expect = "API"
|
||||
idx = entry_mgr.add_key_value("API entry", "api", "abc")
|
||||
expect = "API entry"
|
||||
|
||||
data = entry_mgr._load_index(force_reload=True)
|
||||
data["entries"][str(idx)]["type"] = entry_type
|
||||
|
@@ -93,7 +93,7 @@ def test_search_key_value_value():
|
||||
tmp_path = Path(tmpdir)
|
||||
entry_mgr = setup_entry_manager(tmp_path)
|
||||
|
||||
idx = entry_mgr.add_key_value("API", "token123")
|
||||
idx = entry_mgr.add_key_value("API entry", "api", "token123")
|
||||
|
||||
result = entry_mgr.search_entries("token123")
|
||||
assert result == []
|
||||
|
Reference in New Issue
Block a user