refactor(engine): implement review feedback to wrap errors and use named mock chart type

Appends subchart name/path metadata to dependency errors in recAllTpls, wraps root template collection errors in Render, and refactors TestRenderInvalidChartType to use a named unsupportedChart struct.

Signed-off-by: Ankit Pramanik <59945244+ankit98040@users.noreply.github.com>
pull/32167/head
Ankit Pramanik 4 weeks ago
parent 0211dc877b
commit de83e2720f

@ -79,7 +79,7 @@ func New(config *rest.Config) Engine {
func (e Engine) Render(chrt ci.Charter, values common.Values) (map[string]string, error) {
tmap, err := allTemplates(chrt, values)
if err != nil {
return nil, err
return nil, fmt.Errorf("collecting templates: %w", err)
}
return e.render(tmap)
}
@ -570,7 +570,7 @@ func recAllTpls(c ci.Charter, templates map[string]renderable, values common.Val
}
subTpls, err := recAllTpls(child, templates, next)
if err != nil {
return nil, err
return nil, fmt.Errorf("error rendering dependency chart %q at %q: %w", sub.Name(), sub.ChartFullPath(), err)
}
subCharts[sub.Name()] = subTpls
}

@ -599,8 +599,10 @@ func TestAllTemplates(t *testing.T) {
}
}
type unsupportedChart struct{}
func TestRenderInvalidChartType(t *testing.T) {
_, err := Render(struct{}{}, common.Values{})
_, err := Render(unsupportedChart{}, common.Values{})
if err == nil {
t.Error("Expected error when rendering invalid chart type, got nil")
} else if !strings.Contains(err.Error(), "unsupported chart type") {

Loading…
Cancel
Save