Templates: don't validate deprecated parameters (#26292)
This commit is contained in:
parent
916de19f4f
commit
1bdc6a6fe5
2 changed files with 40 additions and 5 deletions
|
|
@ -366,7 +366,7 @@ func (t *Template) RenderResult(renderMode int, other map[string]any) ([]byte, m
|
|||
}
|
||||
|
||||
// validate required fields from yaml
|
||||
if s == "" && p.IsRequired() && (renderMode == RenderModeUnitTest ||
|
||||
if s == "" && p.IsRequired() && !p.IsDeprecated() && (renderMode == RenderModeUnitTest ||
|
||||
renderMode == RenderModeInstance && !testing.Testing()) {
|
||||
// validate required per usage
|
||||
if len(p.Usages) == 0 || slices.Contains(p.Usages, usage) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package templates
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
|
|
@ -48,22 +49,56 @@ func TestRequired(t *testing.T) {
|
|||
_, _, err := tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": "foo",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
assert.NoError(t, err, "test: required present")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": "",
|
||||
})
|
||||
require.Error(t, err)
|
||||
assert.Error(t, err, "test: required present but empty")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": nil,
|
||||
})
|
||||
require.Error(t, err)
|
||||
assert.Error(t, err, "test: required present but nil")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeDocs, map[string]any{
|
||||
"Param": nil,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
assert.NoError(t, err, "docs: required present but nil")
|
||||
}
|
||||
|
||||
func TestRequiredDeprecated(t *testing.T) {
|
||||
tmpl := &Template{
|
||||
TemplateDefinition: TemplateDefinition{
|
||||
Params: []Param{
|
||||
{
|
||||
Name: "param",
|
||||
Required: true,
|
||||
Deprecated: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
_, _, err := tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": "foo",
|
||||
})
|
||||
assert.NoError(t, err, "test: required present")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": "",
|
||||
})
|
||||
assert.NoError(t, err, "test: required present but empty")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeUnitTest, map[string]any{
|
||||
"Param": nil,
|
||||
})
|
||||
assert.NoError(t, err, "test: required present but nil")
|
||||
|
||||
_, _, err = tmpl.RenderResult(RenderModeDocs, map[string]any{
|
||||
"Param": nil,
|
||||
})
|
||||
assert.NoError(t, err, "docs: required present but nil")
|
||||
}
|
||||
|
||||
func TestRequiredPerUsage(t *testing.T) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue