Skip to content
Permalink
Browse files

replaceVars returns nil on nil input, not error

includes  an integration test for 'null' args inputs
  • Loading branch information...
laverya committed Jan 30, 2019
1 parent 0938014 commit 1d263d24ddbff511f5616e5e40549f627b951f42
Showing with 80 additions and 0 deletions.
  1. +78 −0 pkg/target/nullvalues_test.go
  2. +2 −0 pkg/transformers/refvars.go
@@ -0,0 +1,78 @@
/*
Copyright 2018 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package target

import (
"testing"
)

func TestNullValues(t *testing.T) {
th := NewKustTestHarness(t, "/app")
th.writeF("/app/deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: example
name: example
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
containers:
- args: null
image: image
name: example
`)
th.writeF("/app/kustomization.yaml", `
apiVersion: v1beta1
kind: Kustomization
resources:
- deployment.yaml
`)
m, err := th.makeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}

th.assertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: example
name: example
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
containers:
- args: null
image: image
name: example
`)
}
@@ -42,6 +42,8 @@ func (rv *refvarTransformer) replaceVars(in interface{}) (interface{}, error) {
return nil, fmt.Errorf("%#v is expected to be %T", in, s)
}
return expansion.Expand(s, rv.mappingFunc), nil
case nil:
return nil, nil
default:
return "", fmt.Errorf("invalid type encountered %T", vt)
}

0 comments on commit 1d263d2

Please sign in to comment.
You can’t perform that action at this time.