mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 01:14:22 +00:00
Use require for Error and NoError
Assert keeps going after failure, but require immediately fails the tests, making it easier to find the output related to the test failure, rather than having to comb through a bunch of subsequent assertion failures. For equality tests, we may or may not want to continue, but for error checks we almost always want to immediately fail the test. Exceptions can be changed as-needed.
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"sigs.k8s.io/kustomize/api/filters/labels"
|
||||
"sigs.k8s.io/kustomize/api/provider"
|
||||
. "sigs.k8s.io/kustomize/api/resmap"
|
||||
@@ -891,21 +892,21 @@ func TestAbsorbAll(t *testing.T) {
|
||||
}
|
||||
expected := rmF.FromResource(r)
|
||||
w := makeMap1(t)
|
||||
assert.NoError(t, w.AbsorbAll(makeMap2(t, types.BehaviorMerge)))
|
||||
require.NoError(t, w.AbsorbAll(makeMap2(t, types.BehaviorMerge)))
|
||||
expected.RemoveBuildAnnotations()
|
||||
w.RemoveBuildAnnotations()
|
||||
assert.NoError(t, expected.ErrorIfNotEqualLists(w))
|
||||
require.NoError(t, expected.ErrorIfNotEqualLists(w))
|
||||
w = makeMap1(t)
|
||||
assert.NoError(t, w.AbsorbAll(nil))
|
||||
assert.NoError(t, w.ErrorIfNotEqualLists(makeMap1(t)))
|
||||
require.NoError(t, w.AbsorbAll(nil))
|
||||
require.NoError(t, w.ErrorIfNotEqualLists(makeMap1(t)))
|
||||
|
||||
w = makeMap1(t)
|
||||
w2 := makeMap2(t, types.BehaviorReplace)
|
||||
assert.NoError(t, w.AbsorbAll(w2))
|
||||
require.NoError(t, w.AbsorbAll(w2))
|
||||
w2.RemoveBuildAnnotations()
|
||||
assert.NoError(t, w2.ErrorIfNotEqualLists(w))
|
||||
require.NoError(t, w2.ErrorIfNotEqualLists(w))
|
||||
err = makeMap1(t).AbsorbAll(makeMap2(t, types.BehaviorUnspecified))
|
||||
assert.Error(t, err)
|
||||
require.Error(t, err)
|
||||
assert.True(
|
||||
t, strings.Contains(err.Error(), "behavior must be merge or replace"))
|
||||
}
|
||||
@@ -957,10 +958,10 @@ data:
|
||||
feeling: *color-used
|
||||
`
|
||||
rm, err := rmF.NewResMapFromBytes([]byte(input))
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, rm.DeAnchor())
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, rm.DeAnchor())
|
||||
yaml, err := rm.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, strings.TrimSpace(`
|
||||
apiVersion: v1
|
||||
data:
|
||||
@@ -991,10 +992,10 @@ spec:
|
||||
<<: *probe
|
||||
`
|
||||
rm, err := rmF.NewResMapFromBytes([]byte(input))
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, rm.DeAnchor())
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, rm.DeAnchor())
|
||||
yaml, err := rm.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, strings.TrimSpace(`apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
@@ -1038,7 +1039,7 @@ data:
|
||||
feeling: *color-used
|
||||
`
|
||||
_, err := rmF.NewResMapFromBytes([]byte(input))
|
||||
assert.Error(t, err)
|
||||
require.Error(t, err)
|
||||
assert.Contains(t, err.Error(), "unknown anchor 'color-used' referenced")
|
||||
}
|
||||
|
||||
@@ -1065,10 +1066,10 @@ items:
|
||||
feeling: *color-used
|
||||
`
|
||||
rm, err := rmF.NewResMapFromBytes([]byte(input))
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, rm.DeAnchor())
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, rm.DeAnchor())
|
||||
yaml, err := rm.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, strings.TrimSpace(`
|
||||
apiVersion: v1
|
||||
data:
|
||||
@@ -1301,11 +1302,11 @@ spec:
|
||||
tc := tests[n]
|
||||
t.Run(n, func(t *testing.T) {
|
||||
m, err := rmF.NewResMapFromBytes([]byte(strings.Join(tc.base, "\n---\n")))
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
foundError := false
|
||||
for _, patch := range tc.patches {
|
||||
rp, err := rf.FromBytes([]byte(patch))
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
idSet := resource.MakeIdSet([]*resource.Resource{rp})
|
||||
if err = m.ApplySmPatch(idSet, rp); err != nil {
|
||||
foundError = true
|
||||
@@ -1320,7 +1321,7 @@ spec:
|
||||
assert.False(t, tc.errorExpected)
|
||||
m.RemoveBuildAnnotations()
|
||||
yml, err := m.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, strings.Join(tc.expected, "---\n"), string(yml))
|
||||
})
|
||||
}
|
||||
@@ -1509,8 +1510,8 @@ metadata:
|
||||
tc := tests[name]
|
||||
t.Run(name, func(t *testing.T) {
|
||||
m, err := rmF.NewResMapFromBytes([]byte(tc.input))
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, m.ApplyFilter(tc.f))
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, m.ApplyFilter(tc.f))
|
||||
kusttest_test.AssertActualEqualsExpectedWithTweak(
|
||||
t, m, nil, tc.expected)
|
||||
})
|
||||
@@ -1604,16 +1605,16 @@ $patch: delete
|
||||
tc := tests[name]
|
||||
t.Run(name, func(t *testing.T) {
|
||||
m, err := rmF.NewResMapFromBytes([]byte(target))
|
||||
assert.NoError(t, err, name)
|
||||
require.NoError(t, err, name)
|
||||
idSet := resource.MakeIdSet(m.Resources())
|
||||
assert.Equal(t, 1, idSet.Size(), name)
|
||||
p, err := rf.FromBytes([]byte(tc.patch))
|
||||
assert.NoError(t, err, name)
|
||||
assert.NoError(t, m.ApplySmPatch(idSet, p), name)
|
||||
require.NoError(t, err, name)
|
||||
require.NoError(t, m.ApplySmPatch(idSet, p), name)
|
||||
assert.Equal(t, tc.finalMapSize, m.Size(), name)
|
||||
m.RemoveBuildAnnotations()
|
||||
yml, err := m.AsYaml()
|
||||
assert.NoError(t, err, name)
|
||||
require.NoError(t, err, name)
|
||||
assert.Equal(t, tc.expected, string(yml), name)
|
||||
})
|
||||
}
|
||||
@@ -1622,28 +1623,28 @@ $patch: delete
|
||||
func TestOriginAnnotations(t *testing.T) {
|
||||
w := New()
|
||||
for i := 0; i < 3; i++ {
|
||||
assert.NoError(t, w.Append(makeCm(i)))
|
||||
require.NoError(t, w.Append(makeCm(i)))
|
||||
}
|
||||
// this should add an origin annotation to every resource
|
||||
assert.NoError(t, w.AddOriginAnnotation(origin1))
|
||||
require.NoError(t, w.AddOriginAnnotation(origin1))
|
||||
resources := w.Resources()
|
||||
for _, res := range resources {
|
||||
or, err := res.GetOrigin()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, origin1, or)
|
||||
}
|
||||
// this should not overwrite the existing origin annotations
|
||||
assert.NoError(t, w.AddOriginAnnotation(origin2))
|
||||
require.NoError(t, w.AddOriginAnnotation(origin2))
|
||||
for _, res := range resources {
|
||||
or, err := res.GetOrigin()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, origin1, or)
|
||||
}
|
||||
// this should remove origin annotations from all resources
|
||||
assert.NoError(t, w.RemoveOriginAnnotations())
|
||||
require.NoError(t, w.RemoveOriginAnnotations())
|
||||
for _, res := range resources {
|
||||
or, err := res.GetOrigin()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Nil(t, or)
|
||||
}
|
||||
}
|
||||
@@ -1651,31 +1652,31 @@ func TestOriginAnnotations(t *testing.T) {
|
||||
func TestTransformerAnnotations(t *testing.T) {
|
||||
w := New()
|
||||
for i := 0; i < 3; i++ {
|
||||
assert.NoError(t, w.Append(makeCm(i)))
|
||||
require.NoError(t, w.Append(makeCm(i)))
|
||||
}
|
||||
// this should add an origin annotation to every resource
|
||||
assert.NoError(t, w.AddTransformerAnnotation(origin1))
|
||||
require.NoError(t, w.AddTransformerAnnotation(origin1))
|
||||
resources := w.Resources()
|
||||
for _, res := range resources {
|
||||
or, err := res.GetOrigin()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, origin1, or)
|
||||
}
|
||||
// this should add a transformer annotation to every resource
|
||||
assert.NoError(t, w.AddTransformerAnnotation(origin2))
|
||||
require.NoError(t, w.AddTransformerAnnotation(origin2))
|
||||
for _, res := range resources {
|
||||
or, err := res.GetOrigin()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, origin1, or)
|
||||
tr, err := res.GetTransformations()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, resource.Transformations{origin2}, tr)
|
||||
}
|
||||
// remove transformer annotations from all resources
|
||||
assert.NoError(t, w.RemoveTransformerAnnotations())
|
||||
require.NoError(t, w.RemoveTransformerAnnotations())
|
||||
for _, res := range resources {
|
||||
tr, err := res.GetTransformations()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Nil(t, tr)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user