Add a unit test to demonstrate the issue 1747

This commit is contained in:
Haiyan Meng
2019-11-22 11:02:53 -08:00
parent 81d809f15d
commit 964a5082b1

View File

@@ -4,6 +4,7 @@
package main_test
import (
"strings"
"testing"
"sigs.k8s.io/kustomize/api/testutils/kusttest"
@@ -369,3 +370,42 @@ spec:
name: init-alpine
`)
}
func TestImageTagTransformerEmptyContainers(t *testing.T) {
tc := kusttest_test.NewPluginTestEnv(t).Set()
defer tc.Reset()
tc.BuildGoPlugin(
"builtin", "", "ImageTagTransformer")
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app")
err := th.ErrorFromLoadAndRunTransformer(`
apiVersion: builtin
kind: ImageTagTransformer
metadata:
name: notImportantHere
imageTag:
name: nginx
newTag: v2
`, `
group: apps
apiVersion: v1
kind: Deployment
metadata:
name: deploy1
spec:
template:
spec:
containers:
initContainers:
`)
expectedErrMsg := "containers path is not of type []interface{} but <nil>"
if err == nil {
t.Fatalf("expected error: %s; got nothing", expectedErrMsg)
}
if !strings.Contains(err.Error(), expectedErrMsg) {
t.Fatalf("expected error: %s; got error: %s", expectedErrMsg, err.Error())
}
}