refactor: Replace reflection-based Viper defaults with embedded template

Load the embedded config template as the Viper base so all keys are
registered upfront, enabling PMG_* env vars to work regardless of
whether a key exists in the user's config file.
This commit is contained in:
Sahilb315
2026-04-15 20:06:53 +05:30
parent 7821c40312
commit f117627e3c
3 changed files with 10 additions and 57 deletions
+2 -6
View File
@@ -32,7 +32,7 @@ func TestTemplateParsesAsYAML(t *testing.T) {
assert.False(t, false, cfg.Paranoid, "expected Paranoid false")
assert.False(t, false, cfg.SkipEventLogging, "expected SkipEventLogging false")
assert.Equal(t, 7, cfg.EventLogRetentionDays, "expected EventLogRetentionDays 7")
assert.Len(t, cfg.TrustedPackages, 1)
assert.Empty(t, cfg.TrustedPackages)
}
func TestTemplateMatchesDefaults(t *testing.T) {
@@ -56,11 +56,7 @@ func TestTemplateMatchesDefaults(t *testing.T) {
assert.Equal(t, def.EventLogRetentionDays, parsed.EventLogRetentionDays, "event_log_retention_days mismatch")
assert.Equal(t, def.Verbosity, parsed.Verbosity, "verbosity mismatch")
assert.NotEmpty(t, parsed.TrustedPackages, "expected at least one trusted_packages entry")
first := parsed.TrustedPackages[0]
assert.NotEmpty(t, first.Purl, "first trusted package has empty purl")
assert.NotEmpty(t, first.Reason, "first trusted package has empty reason")
assert.Equal(t, def.TrustedPackages, parsed.TrustedPackages, "trusted_packages mismatch")
assert.Equal(t, def.DependencyCooldown.Enabled, parsed.DependencyCooldown.Enabled, "dependency_cooldown.enabled mismatch")
assert.Equal(t, def.DependencyCooldown.Days, parsed.DependencyCooldown.Days, "dependency_cooldown.days mismatch")