package config //nolint:testpackage // tests unexported buildConfig import ( "errors" "log/slog" "testing" ) func TestBuildConfigRejectsRelativeHostDataDir(t *testing.T) { t.Setenv("UPAAS_HOST_DATA_DIR", "./data") setupViper("upaas") _, err := buildConfig(slog.Default(), &Params{}) if !errors.Is(err, errHostDataDirNotAbsolute) { t.Fatalf("expected errHostDataDirNotAbsolute, got %v", err) } } func TestBuildConfigHostDataDirDefaultsToDataDir(t *testing.T) { t.Setenv("UPAAS_DATA_DIR", "./data") t.Setenv("UPAAS_HOST_DATA_DIR", "") t.Setenv("UPAAS_SESSION_SECRET", "test-secret") setupViper("upaas") cfg, err := buildConfig(slog.Default(), &Params{}) if err != nil { t.Fatalf("unexpected error: %v", err) } if cfg.HostDataDir != "./data" { t.Errorf("expected HostDataDir ./data, got %q", cfg.HostDataDir) } }