Add diffing to tests.

This commit is contained in:
Eyob Tefera
2020-08-10 17:57:03 +00:00
parent eee581462c
commit 2f3c89e73f
3 changed files with 75 additions and 27 deletions

View File

@@ -3,6 +3,7 @@ module sigs.k8s.io/kustomize/kustomize/v3
go 1.14 go 1.14
require ( require (
github.com/google/go-cmp v0.3.0
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/spf13/cobra v1.0.0 github.com/spf13/cobra v1.0.0
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5

View File

@@ -239,6 +239,7 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -756,6 +757,7 @@ sigs.k8s.io/kustomize/kyaml v0.1.4/go.mod h1:461i94nj0h0ylJ6w83jLkR4SqqVhn1iY6fj
sigs.k8s.io/kustomize/kyaml v0.2.0/go.mod h1:72/rLkSi+L/pHM1oCjwrf3ClU+tH5kZQvvdLSqIHwWU= sigs.k8s.io/kustomize/kyaml v0.2.0/go.mod h1:72/rLkSi+L/pHM1oCjwrf3ClU+tH5kZQvvdLSqIHwWU=
sigs.k8s.io/kustomize/kyaml v0.4.1 h1:NEqA/35upoAjb+I5vh1ODUqxoX4DOrezeQa9BhhG5Co= sigs.k8s.io/kustomize/kyaml v0.4.1 h1:NEqA/35upoAjb+I5vh1ODUqxoX4DOrezeQa9BhhG5Co=
sigs.k8s.io/kustomize/kyaml v0.4.1/go.mod h1:XJL84E6sOFeNrQ7CADiemc1B0EjIxHo3OhW4o1aJYNw= sigs.k8s.io/kustomize/kyaml v0.4.1/go.mod h1:XJL84E6sOFeNrQ7CADiemc1B0EjIxHo3OhW4o1aJYNw=
sigs.k8s.io/kustomize/kyaml v0.4.2/go.mod h1:XJL84E6sOFeNrQ7CADiemc1B0EjIxHo3OhW4o1aJYNw=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA= sigs.k8s.io/structured-merge-diff v0.0.0-20190817042607-6149e4549fca/go.mod h1:IIgPezJWb76P0hotTxzDbWsMYB8APh18qZnxkomBpxA=
sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18=

View File

@@ -8,6 +8,8 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/google/go-cmp/cmp"
"sigs.k8s.io/kustomize/api/filesys" "sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/konfig" "sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/types" "sigs.k8s.io/kustomize/api/types"
@@ -27,6 +29,7 @@ func TestFieldOrder(t *testing.T) {
"CommonLabels", "CommonLabels",
"CommonAnnotations", "CommonAnnotations",
"PatchesStrategicMerge", "PatchesStrategicMerge",
"PatchesJson6902",
"Patches", "Patches",
"ConfigMapGenerator", "ConfigMapGenerator",
"SecretGenerator", "SecretGenerator",
@@ -157,8 +160,8 @@ patchesStrategicMerge:
} }
bytes, _ := fSys.ReadFile(mf.path) bytes, _ := fSys.ReadFile(mf.path)
if !reflect.DeepEqual(kustomizationContentWithComments, bytes) { if diff := cmp.Diff(kustomizationContentWithComments, bytes); diff != "" {
t.Fatal("written kustomization with comments is not the same as original one") t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
} }
} }
@@ -251,10 +254,8 @@ generatorOptions:
} }
bytes, _ := fSys.ReadFile(mf.path) bytes, _ := fSys.ReadFile(mf.path)
if string(expected) != string(bytes) { if diff := cmp.Diff(expected, bytes); diff != "" {
t.Fatalf( t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
"expected =\n%s\n\nactual =\n%s\n",
string(expected), string(bytes))
} }
} }
@@ -289,10 +290,8 @@ kind: Kustomization
} }
bytes, _ := fSys.ReadFile(mf.path) bytes, _ := fSys.ReadFile(mf.path)
if string(expected) != string(bytes) { if diff := cmp.Diff(expected, bytes); diff != "" {
t.Fatalf( t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
"expected =\n%s\n\nactual =\n%s\n",
string(expected), string(bytes))
} }
} }
@@ -334,36 +333,37 @@ kind: Kustomization
} }
bytes, _ := fSys.ReadFile(mf.path) bytes, _ := fSys.ReadFile(mf.path)
if string(expected) != string(bytes) { if diff := cmp.Diff(expected, bytes); diff != "" {
t.Fatalf( t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
"expected =\n%s\n\nactual =\n%s\n",
string(expected), string(bytes))
} }
} }
func TestFixOutdatedPatchesFieldTitle(t *testing.T) { func TestRenameAndKeepOutdatedPatchesField(t *testing.T) {
kustomizationContentWithOutdatedPatchesFieldTitle := []byte(` kustomizationContentWithOutdatedPatchesFieldTitle := []byte(`
patchesJson6902: patchesJson6902:
- path: patch1.yaml - path: patch1.yaml
target: target:
kind: Service kind: Deployment
patches:
- path: patch2.yaml - path: patch2.yaml
target: target:
group: apps
kind: Deployment kind: Deployment
version: v1 - path: patch3.yaml
target:
kind: Service
`) `)
expected := []byte(` expected := []byte(`
patches: patches:
- path: patch1.yaml
target:
kind: Service
- path: patch2.yaml - path: patch2.yaml
target: target:
group: apps
kind: Deployment kind: Deployment
version: v1 - path: patch3.yaml
target:
kind: Service
- path: patch1.yaml
target:
kind: Deployment
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
`) `)
@@ -383,10 +383,55 @@ kind: Kustomization
} }
bytes, _ := fSys.ReadFile(mf.path) bytes, _ := fSys.ReadFile(mf.path)
if string(expected) != string(bytes) { if diff := cmp.Diff(expected, bytes); diff != "" {
t.Fatalf( t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
"expected =\n%s\n\nactual =\n%s\n", }
string(expected), string(bytes)) }
func TestFixOutdatedPatchesFieldTitle(t *testing.T) {
kustomizationContentWithOutdatedPatchesFieldTitle := []byte(`
patchesJson6902:
- path: patch1.yaml
target:
kind: Service
- path: patch2.yaml
target:
group: apps
kind: Deployment
version: v1
`)
expected := []byte(`
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
patches:
- path: patch1.yaml
target:
kind: Service
- path: patch2.yaml
target:
group: apps
kind: Deployment
version: v1
`)
fSys := filesys.MakeFsInMemory()
testutils_test.WriteTestKustomizationWith(fSys, kustomizationContentWithOutdatedPatchesFieldTitle)
mf, err := NewKustomizationFile(fSys)
if err != nil {
t.Fatalf("Unexpected Error: %v", err)
}
kustomization, err := mf.Read()
if err != nil {
t.Fatalf("Unexpected Error: %v", err)
}
if err = mf.Write(kustomization); err != nil {
t.Fatalf("Unexpected Error: %v", err)
}
bytes, _ := fSys.ReadFile(mf.path)
if diff := cmp.Diff(expected, bytes); diff != "" {
t.Errorf("Mismatch (-expected, +actual):\n%s", diff)
} }
} }