diff --git a/api/builtins/ImageTagTransformer.go b/api/builtins/ImageTagTransformer.go index c70be9007..051d05521 100644 --- a/api/builtins/ImageTagTransformer.go +++ b/api/builtins/ImageTagTransformer.go @@ -82,7 +82,7 @@ func (p *ImageTagTransformerPlugin) findAndReplaceImage(obj map[string]interface updated := false for _, path := range paths { containers, found := obj[path] - if found { + if found && containers != nil { if _, err := p.updateContainers(containers); err != nil { return err } diff --git a/api/builtins/PatchJson6902Transformer.go b/api/builtins/PatchJson6902Transformer.go index be2e430e8..24f6d3061 100644 --- a/api/builtins/PatchJson6902Transformer.go +++ b/api/builtins/PatchJson6902Transformer.go @@ -6,7 +6,7 @@ package builtins import ( "fmt" - jsonpatch "github.com/evanphx/json-patch" + "github.com/evanphx/json-patch" "github.com/pkg/errors" "sigs.k8s.io/kustomize/api/ifc" "sigs.k8s.io/kustomize/api/resid" diff --git a/api/builtins/PatchTransformer.go b/api/builtins/PatchTransformer.go index 4cd6f528a..04e678522 100644 --- a/api/builtins/PatchTransformer.go +++ b/api/builtins/PatchTransformer.go @@ -6,7 +6,7 @@ package builtins import ( "fmt" - jsonpatch "github.com/evanphx/json-patch" + "github.com/evanphx/json-patch" "github.com/pkg/errors" "sigs.k8s.io/kustomize/api/resmap" "sigs.k8s.io/kustomize/api/resource" diff --git a/plugin/builtin/imagetagtransformer/ImageTagTransformer.go b/plugin/builtin/imagetagtransformer/ImageTagTransformer.go index af5ae4ad7..ccf2482a6 100644 --- a/plugin/builtin/imagetagtransformer/ImageTagTransformer.go +++ b/plugin/builtin/imagetagtransformer/ImageTagTransformer.go @@ -86,7 +86,7 @@ func (p *plugin) findAndReplaceImage(obj map[string]interface{}) error { updated := false for _, path := range paths { containers, found := obj[path] - if found { + if found && containers != nil { if _, err := p.updateContainers(containers); err != nil { return err } diff --git a/plugin/builtin/imagetagtransformer/ImageTagTransformer_test.go b/plugin/builtin/imagetagtransformer/ImageTagTransformer_test.go index c3eb4a6e7..1234dd4ed 100644 --- a/plugin/builtin/imagetagtransformer/ImageTagTransformer_test.go +++ b/plugin/builtin/imagetagtransformer/ImageTagTransformer_test.go @@ -4,7 +4,6 @@ package main_test import ( - "strings" "testing" "sigs.k8s.io/kustomize/api/testutils/kusttest" @@ -379,7 +378,7 @@ func TestImageTagTransformerEmptyContainers(t *testing.T) { th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app") - err := th.ErrorFromLoadAndRunTransformer(` + rm := th.LoadAndRunTransformer(` apiVersion: builtin kind: ImageTagTransformer metadata: @@ -399,13 +398,16 @@ spec: containers: initContainers: `) - - expectedErrMsg := "containers path is not of type []interface{} but " - 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()) - } + th.AssertActualEqualsExpected(rm, ` +apiVersion: v1 +group: apps +kind: Deployment +metadata: + name: deploy1 +spec: + template: + spec: + containers: null + initContainers: null +`) }