Support KeePassGO state dir via flag and env

This commit is contained in:
Joe Julian
2026-03-29 15:41:44 -07:00
parent 72b413a11a
commit 75dc6453f7
2 changed files with 73 additions and 23 deletions
+28
View File
@@ -1798,6 +1798,34 @@ func TestUILoadsRecentVaultsFromPersistedConfig(t *testing.T) {
}
}
func TestDefaultStatePathsUsesProvidedStateDir(t *testing.T) {
t.Parallel()
base := filepath.Join(t.TempDir(), "keepassgo-state")
paths := defaultStatePaths(base)
if got := paths.DefaultSaveAsPath; got != filepath.Join(base, "vault.kdbx") {
t.Fatalf("DefaultSaveAsPath = %q, want %q", got, filepath.Join(base, "vault.kdbx"))
}
if got := paths.RecentVaultsPath; got != filepath.Join(base, "recent-vaults.json") {
t.Fatalf("RecentVaultsPath = %q, want %q", got, filepath.Join(base, "recent-vaults.json"))
}
}
func TestResolveFlagOrEnvPrefersFlagThenEnvThenFallback(t *testing.T) {
t.Setenv("KEEPASSGO_TEST_VALUE", "from-env")
if got := resolveFlagOrEnv("from-flag", "KEEPASSGO_TEST_VALUE", "fallback"); got != "from-flag" {
t.Fatalf("resolveFlagOrEnv(flag) = %q, want %q", got, "from-flag")
}
if got := resolveFlagOrEnv("", "KEEPASSGO_TEST_VALUE", "fallback"); got != "from-env" {
t.Fatalf("resolveFlagOrEnv(env) = %q, want %q", got, "from-env")
}
if got := resolveFlagOrEnv("", "KEEPASSGO_TEST_MISSING", "fallback"); got != "fallback" {
t.Fatalf("resolveFlagOrEnv(fallback) = %q, want %q", got, "fallback")
}
}
func TestEnterOnLocalLifecycleScreenDefaultsToOpenVault(t *testing.T) {
t.Parallel()