mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 01:50:55 +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:
@@ -8,6 +8,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"sigs.k8s.io/kustomize/api/ifc"
|
||||
loader "sigs.k8s.io/kustomize/api/internal/loader"
|
||||
"sigs.k8s.io/kustomize/api/kv"
|
||||
@@ -61,19 +62,19 @@ metadata:
|
||||
"namespace": "test",
|
||||
}}).ResMap()
|
||||
expYaml, err := expected.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
|
||||
fSys := filesys.MakeFsInMemory()
|
||||
assert.NoError(t, fSys.WriteFile("deployment.yaml", []byte(resourceStr)))
|
||||
require.NoError(t, fSys.WriteFile("deployment.yaml", []byte(resourceStr)))
|
||||
|
||||
ldr, err := loader.NewLoader(
|
||||
loader.RestrictionRootOnly, filesys.Separator, fSys)
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
|
||||
m, err := rmF.FromFile(ldr, "deployment.yaml")
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
mYaml, err := m.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, expYaml, mYaml)
|
||||
}
|
||||
|
||||
@@ -102,11 +103,11 @@ metadata:
|
||||
"name": "cm2",
|
||||
}}).ResMap()
|
||||
expYaml, err := expected.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
m, err := rmF.NewResMapFromBytes(encoded)
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
mYaml, err := m.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, expYaml, mYaml)
|
||||
}
|
||||
|
||||
@@ -219,13 +220,13 @@ BAR=baz
|
||||
}
|
||||
}
|
||||
r, err := rmF.NewResMapFromConfigMapArgs(kvLdr, tc.input)
|
||||
assert.NoError(t, err, tc.description)
|
||||
require.NoError(t, err, tc.description)
|
||||
r.RemoveBuildAnnotations()
|
||||
rYaml, err := r.AsYaml()
|
||||
assert.NoError(t, err, tc.description)
|
||||
require.NoError(t, err, tc.description)
|
||||
tc.expected.RemoveBuildAnnotations()
|
||||
expYaml, err := tc.expected.AsYaml()
|
||||
assert.NoError(t, err, tc.description)
|
||||
require.NoError(t, err, tc.description)
|
||||
assert.Equal(t, expYaml, rYaml)
|
||||
}
|
||||
}
|
||||
@@ -257,7 +258,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
}
|
||||
actual.RemoveBuildAnnotations()
|
||||
actYaml, err := actual.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
|
||||
expected := resmaptest_test.NewRmBuilder(t, rf).Add(
|
||||
map[string]interface{}{
|
||||
@@ -273,7 +274,7 @@ func TestNewResMapFromSecretArgs(t *testing.T) {
|
||||
},
|
||||
}).ResMap()
|
||||
expYaml, err := expected.AsYaml()
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, string(expYaml), string(actYaml))
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
. "sigs.k8s.io/kustomize/api/resmap"
|
||||
"sigs.k8s.io/kustomize/api/types"
|
||||
"sigs.k8s.io/kustomize/kyaml/resid"
|
||||
@@ -50,7 +51,7 @@ metadata:
|
||||
name: x-name1
|
||||
namespace: x-default
|
||||
`))
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -183,7 +184,7 @@ func TestFindPatchTargets(t *testing.T) {
|
||||
}
|
||||
for n, testcase := range testcases {
|
||||
actual, err := rm.Select(testcase.target)
|
||||
assert.NoError(t, err)
|
||||
require.NoError(t, err)
|
||||
assert.Equalf(
|
||||
t, testcase.count, len(actual), "test=%s target=%v", n, testcase.target)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user