Make report module overrides explicit

This commit is contained in:
2026-06-15 12:36:53 +00:00
parent 40b42f4bf3
commit 4fe0f40cef
5 changed files with 187 additions and 19 deletions

View File

@@ -381,7 +381,11 @@ func ResolveBatch(req BatchRequest, now time.Time) ([]report.Resolved, error) {
}
func reportRegistry(cfg config.Config) (report.Registry, error) {
registry, err := report.DefaultRegistry().WithModuleOverrides(cfg.ReportModuleOverrides())
overrides, err := cfg.ReportModuleOverrides()
if err != nil {
return report.Registry{}, err
}
registry, err := report.DefaultRegistry().WithModuleOverrides(overrides)
if err != nil {
return report.Registry{}, err
}

View File

@@ -1895,6 +1895,24 @@ reports:
}
}
func TestResolveGenerateRejectsInvalidProgrammaticReportOverrides(t *testing.T) {
cfg := config.Defaults()
cfg.Reports = map[string]config.ReportConfig{
"moon": {},
}
_, err := ResolveGenerate(GenerateRequest{
Config: cfg,
Report: ReportDaily,
}, mustParse("2026-05-29T05:00:00-05:00"))
if err == nil {
t.Fatal("ResolveGenerate() error = nil, want report override error")
}
if !strings.Contains(err.Error(), "reports.moon") {
t.Fatalf("ResolveGenerate() error = %q, want report override context", err.Error())
}
}
func moduleIDsForTest(ids []module.ID) []string {
out := make([]string, 0, len(ids))
for _, id := range ids {