mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 10:00:56 +00:00
In some tests, replace reflection with yaml compare.
This commit is contained in:
@@ -4,9 +4,10 @@
|
||||
package resource_test
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"sigs.k8s.io/kustomize/api/filesys"
|
||||
"sigs.k8s.io/kustomize/api/loader"
|
||||
. "sigs.k8s.io/kustomize/api/resource"
|
||||
@@ -357,21 +358,22 @@ kind: List
|
||||
}
|
||||
for _, test := range tests {
|
||||
rs, err := factory.SliceFromPatches(ldr, test.input)
|
||||
if test.expectedErr && err == nil {
|
||||
t.Fatalf("%v: should return error", test.name)
|
||||
}
|
||||
if !test.expectedErr && err != nil {
|
||||
t.Fatalf("%v: unexpected error: %s", test.name, err)
|
||||
if err != nil {
|
||||
assert.True(t, test.expectedErr,
|
||||
fmt.Sprintf("in test %s, got unexpected error: %v", test.name, err))
|
||||
continue
|
||||
}
|
||||
assert.False(t, test.expectedErr, "expected no error")
|
||||
if len(rs) != len(test.expectedOut) {
|
||||
t.Fatalf("%s: length mismatch %d != %d",
|
||||
test.name, len(rs), len(test.expectedOut))
|
||||
}
|
||||
for i := range rs {
|
||||
if !reflect.DeepEqual(test.expectedOut[i], rs[i]) {
|
||||
t.Fatalf("%s: Got: %v\nexpected:%v",
|
||||
test.name, test.expectedOut[i], rs[i])
|
||||
}
|
||||
expYaml, err := test.expectedOut[i].AsYAML()
|
||||
assert.NoError(t, err)
|
||||
actYaml, err := rs[i].AsYAML()
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, expYaml, actYaml)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
package resource
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
@@ -156,9 +157,25 @@ func (r *Resource) copyOtherFields(other *Resource) {
|
||||
r.nameSuffixes = copyStringSlice(other.nameSuffixes)
|
||||
}
|
||||
|
||||
func (r *Resource) Equals(o *Resource) bool {
|
||||
return r.ReferencesEqual(o) &&
|
||||
reflect.DeepEqual(r.kunStr, o.kunStr)
|
||||
func (r *Resource) ErrIfNotEquals(o *Resource) error {
|
||||
meYaml, err := r.AsYAML()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
otherYaml, err := o.AsYAML()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !r.ReferencesEqual(o) {
|
||||
return fmt.Errorf("references unequal")
|
||||
}
|
||||
if string(meYaml) != string(otherYaml) {
|
||||
return fmt.Errorf("--- self:\n"+
|
||||
"%s\n"+
|
||||
"--- other:\n"+
|
||||
"%s\n", meYaml, otherYaml)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Resource) ReferencesEqual(o *Resource) bool {
|
||||
|
||||
Reference in New Issue
Block a user