Harden TUI recovery paths and add release integrity gates

This commit is contained in:
thePR0M3TH3AN committed 2026-02-25 19:18:54 -05:00
1 parent 1b0d11146e
commit 88c1974ac6
19 files changed
+1524 -266

No files matched your search

+33
View File
@@ -124,3 +124,36 @@ def test_cli_export_import_unencrypted(monkeypatch, tmp_path):
rc = main.main(["import", "--file", str(export_path)])
assert rc == 0
assert vault.load_index() == data
def test_cli_export_requires_file(monkeypatch, tmp_path, capsys):
pm, _vault = _setup_pm(tmp_path)
monkeypatch.setattr(main, "PasswordManager", lambda *a, **k: pm)
monkeypatch.setattr(main, "configure_logging", lambda: None)
monkeypatch.setattr(main, "initialize_app", lambda: None)
monkeypatch.setattr(main.signal, "signal", lambda *a, **k: None)
rc = main.main(["export"])
out = capsys.readouterr().out
assert rc == 1
assert "--file is required for export" in out
def test_cli_import_handler_exception_returns_error(monkeypatch, tmp_path, capsys):
pm, _vault = _setup_pm(tmp_path)
pm = SimpleNamespace(
handle_export_database=pm.handle_export_database,
handle_import_database=lambda _p: (_ for _ in ()).throw(
RuntimeError("bad import")
),
nostr_client=SimpleNamespace(close_client_pool=lambda: None),
)
monkeypatch.setattr(main, "PasswordManager", lambda *a, **k: pm)
monkeypatch.setattr(main, "configure_logging", lambda: None)
monkeypatch.setattr(main, "initialize_app", lambda: None)
monkeypatch.setattr(main.signal, "signal", lambda *a, **k: None)
rc = main.main(["import", "--file", str(tmp_path / "in.json")])
out = capsys.readouterr().out
assert rc == 1
assert "Error: Import failed: bad import" in out