Honor env state dir in default UI paths
This commit is contained in:
@@ -309,6 +309,9 @@ func (u *ui) filter() {
|
||||
|
||||
func defaultStatePaths(stateDir string) statePaths {
|
||||
baseDir := strings.TrimSpace(stateDir)
|
||||
if baseDir == "" {
|
||||
baseDir = strings.TrimSpace(os.Getenv("KEEPASSGO_STATE_DIR"))
|
||||
}
|
||||
if baseDir == "" {
|
||||
configDir, err := os.UserConfigDir()
|
||||
if err != nil || strings.TrimSpace(configDir) == "" {
|
||||
|
||||
@@ -1978,6 +1978,20 @@ func TestDefaultStatePathsUsesProvidedStateDir(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDefaultStatePathsUsesEnvironmentStateDirWhenFlagUnset(t *testing.T) {
|
||||
base := filepath.Join(t.TempDir(), "keepassgo-state-env")
|
||||
t.Setenv("KEEPASSGO_STATE_DIR", base)
|
||||
|
||||
paths := defaultStatePaths("")
|
||||
|
||||
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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user