From 8d9897d5a5aceee4445fe8eb5164137bb69cd4b0 Mon Sep 17 00:00:00 2001 From: Jeffrey Regan Date: Thu, 13 Jun 2019 15:32:17 -0700 Subject: [PATCH] Add the rmBuilder test helper. --- pkg/accumulator/resaccumulator_test.go | 6 +- pkg/resmap/factory_test.go | 168 +++++++++++-------------- pkg/resmap/resmap_test.go | 101 +++++++-------- pkg/resmaptest/rmbuilder.go | 72 +++++++++++ pkg/resource/factory.go | 24 ++-- pkg/resource/resource.go | 24 +++- pkg/target/kusttarget_test.go | 6 +- pkg/target/resourceconflict_test.go | 17 +-- pkg/transformers/namereference_test.go | 110 +++++----------- 9 files changed, 258 insertions(+), 270 deletions(-) create mode 100644 pkg/resmaptest/rmbuilder.go diff --git a/pkg/accumulator/resaccumulator_test.go b/pkg/accumulator/resaccumulator_test.go index e96db9aca..91856fbc0 100644 --- a/pkg/accumulator/resaccumulator_test.go +++ b/pkg/accumulator/resaccumulator_test.go @@ -345,9 +345,9 @@ func TestResolveVarsWithNoambiguiation(t *testing.T) { } func find(name string, resMap resmap.ResMap) *resource.Resource { - for k, v := range resMap.AsMap() { - if k.Name() == name { - return v + for _, r := range resMap.Resources() { + if r.GetName() == name { + return r } } return nil diff --git a/pkg/resmap/factory_test.go b/pkg/resmap/factory_test.go index fe5c4c645..6dd07a3e0 100644 --- a/pkg/resmap/factory_test.go +++ b/pkg/resmap/factory_test.go @@ -8,15 +8,13 @@ import ( "reflect" "testing" - "sigs.k8s.io/kustomize/pkg/resource" - "sigs.k8s.io/kustomize/internal/loadertest" "sigs.k8s.io/kustomize/pkg/fs" "sigs.k8s.io/kustomize/pkg/gvk" "sigs.k8s.io/kustomize/pkg/ifc" "sigs.k8s.io/kustomize/pkg/loader" - "sigs.k8s.io/kustomize/pkg/resid" . "sigs.k8s.io/kustomize/pkg/resmap" + "sigs.k8s.io/kustomize/pkg/resmaptest" "sigs.k8s.io/kustomize/pkg/types" "sigs.k8s.io/kustomize/pkg/validators" ) @@ -46,34 +44,27 @@ metadata: if ferr := l.AddFile("/whatever/project/deployment.yaml", []byte(resourceStr)); ferr != nil { t.Fatalf("Error adding fake file: %v\n", ferr) } - expected := New() - expected.Append(rf.FromMap( - map[string]interface{}{ + expected := resmaptest_test.NewRmBuilder(t, rf). + Add(map[string]interface{}{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": map[string]interface{}{ "name": "dply1", - }, - })) - expected.Append(rf.FromMap( - map[string]interface{}{ + }}). + Add(map[string]interface{}{ "apiVersion": "apps/v1", "kind": "Deployment", "metadata": map[string]interface{}{ "name": "dply2", - }, - })) - expected.AppendWithId( - resid.NewResIdWithNamespace(deploy, "dply2", "test"), - rf.FromMap( - map[string]interface{}{ - "apiVersion": "apps/v1", - "kind": "Deployment", - "metadata": map[string]interface{}{ - "name": "dply2", - "namespace": "test", - }, - })) + }}). + Add(map[string]interface{}{ + "apiVersion": "apps/v1", + "kind": "Deployment", + "metadata": map[string]interface{}{ + "name": "dply2", + "namespace": "test", + }}).ResMap() + m, _ := rmF.FromFile(l, "deployment.yaml") if m.Size() != 3 { t.Fatalf("result should contain 3, but got %d", m.Size()) @@ -94,23 +85,19 @@ kind: ConfigMap metadata: name: cm2 `) - expected := New() - expected.Append(rf.FromMap( - map[string]interface{}{ + expected := resmaptest_test.NewRmBuilder(t, rf). + Add(map[string]interface{}{ "apiVersion": "v1", "kind": "ConfigMap", "metadata": map[string]interface{}{ "name": "cm1", - }, - })) - expected.Append(rf.FromMap( - map[string]interface{}{ + }}). + Add(map[string]interface{}{ "apiVersion": "v1", "kind": "ConfigMap", "metadata": map[string]interface{}{ "name": "cm2", - }, - })) + }}).ResMap() m, err := rmF.NewResMapFromBytes(encoded) if err != nil { t.Fatalf("unexpected error: %v", err) @@ -147,20 +134,17 @@ func TestNewFromConfigMaps(t *testing.T) { }, filepath: "/whatever/project/app.env", content: "DB_USERNAME=admin\nDB_PASSWORD=somepw", - expected: FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "envConfigMap"): rf.FromMapAndOption( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "envConfigMap", - }, - "data": map[string]interface{}{ - "DB_USERNAME": "admin", - "DB_PASSWORD": "somepw", - }, - }, &types.GeneratorArgs{}, nil), - }), + expected: resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "envConfigMap", + }, + "data": map[string]interface{}{ + "DB_USERNAME": "admin", + "DB_PASSWORD": "somepw", + }}).ResMap(), }, { @@ -176,21 +160,19 @@ func TestNewFromConfigMaps(t *testing.T) { }, filepath: "/whatever/project/app-init.ini", content: "FOO=bar\nBAR=baz\n", - expected: FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "fileConfigMap"): rf.FromMapAndOption( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "fileConfigMap", - }, - "data": map[string]interface{}{ - "app-init.ini": `FOO=bar + expected: resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "fileConfigMap", + }, + "data": map[string]interface{}{ + "app-init.ini": `FOO=bar BAR=baz `, - }, - }, &types.GeneratorArgs{}, nil), - }), + }, + }).ResMap(), }, { description: "construct config map from literal", @@ -204,22 +186,20 @@ BAR=baz }, }, }, - expected: FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "literalConfigMap"): rf.FromMapAndOption( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "literalConfigMap", - }, - "data": map[string]interface{}{ - "a": "x", - "b": "y", - "c": "Good Morning", - "d": "false", - }, - }, &types.GeneratorArgs{}, nil), - }), + expected: resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "literalConfigMap", + }, + "data": map[string]interface{}{ + "a": "x", + "b": "y", + "c": "Good Morning", + "d": "false", + }, + }).ResMap(), }, // TODO: add testcase for data coming from multiple sources like @@ -233,14 +213,12 @@ BAR=baz if err != nil { t.Fatalf("unexpected error: %v", err) } - if !reflect.DeepEqual(r, tc.expected) { - t.Fatalf("in testcase: %q got:\n%+v\n expected:\n%+v\n", tc.description, r, tc.expected) + if err = tc.expected.ErrorIfNotEqualLists(r); err != nil { + t.Fatalf("testcase: %q, err: %v", tc.description, err) } } } -var secret = gvk.Gvk{Version: "v1", Kind: "Secret"} - func TestNewResMapFromSecretArgs(t *testing.T) { secrets := []types.SecretArgs{ { @@ -264,22 +242,20 @@ func TestNewResMapFromSecretArgs(t *testing.T) { t.Fatalf("unexpected error: %v", err) } - expected := FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(secret, "apple"): rf.FromMapAndOption( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "Secret", - "metadata": map[string]interface{}{ - "name": "apple", - }, - "type": ifc.SecretTypeOpaque, - "data": map[string]interface{}{ - "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), - "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), - }, - }, &types.GeneratorArgs{}, nil), - }) - if !reflect.DeepEqual(actual, expected) { - t.Fatalf("%#v\ndoesn't match expected:\n%#v", actual, expected) + expected := resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "Secret", + "metadata": map[string]interface{}{ + "name": "apple", + }, + "type": ifc.SecretTypeOpaque, + "data": map[string]interface{}{ + "DB_USERNAME": base64.StdEncoding.EncodeToString([]byte("admin")), + "DB_PASSWORD": base64.StdEncoding.EncodeToString([]byte("somepw")), + }, + }).ResMap() + if err = expected.ErrorIfNotEqualLists(actual); err != nil { + t.Fatalf("error: %s", err) } } diff --git a/pkg/resmap/resmap_test.go b/pkg/resmap/resmap_test.go index b092277c6..245d80bf6 100644 --- a/pkg/resmap/resmap_test.go +++ b/pkg/resmap/resmap_test.go @@ -12,11 +12,11 @@ import ( "sigs.k8s.io/kustomize/pkg/gvk" "sigs.k8s.io/kustomize/pkg/resid" . "sigs.k8s.io/kustomize/pkg/resmap" + "sigs.k8s.io/kustomize/pkg/resmaptest" "sigs.k8s.io/kustomize/pkg/resource" "sigs.k8s.io/kustomize/pkg/types" ) -var deploy = gvk.Gvk{Group: "apps", Version: "v1", Kind: "Deployment"} var rf = resource.NewFactory( kunstruct.NewKunstructuredFactoryImpl()) var rmF = NewFactory(rf) @@ -160,23 +160,21 @@ kind: ConfigMap metadata: name: cm2 `) - input := New() - input.Append(rf.FromMap( + input := resmaptest_test.NewRmBuilder(t, rf).Add( map[string]interface{}{ "apiVersion": "v1", "kind": "ConfigMap", "metadata": map[string]interface{}{ "name": "cm1", }, - })) - input.Append(rf.FromMap( + }).Add( map[string]interface{}{ "apiVersion": "v1", "kind": "ConfigMap", "metadata": map[string]interface{}{ "name": "cm2", }, - })) + }).ResMap() out, err := input.AsYaml() if err != nil { t.Fatalf("unexpected error: %v", err) @@ -391,24 +389,21 @@ func TestFilterBy(t *testing.T) { } func TestDeepCopy(t *testing.T) { - rm1 := FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "cm1"): rf.FromMap( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - }, - }), - resid.NewResId(cmap, "cm2"): rf.FromMap( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm2", - }, - }), - }) + rm1 := resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "cm1", + }, + }).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "cm2", + }, + }).ResMap() rm2 := rm1.DeepCopy() @@ -505,40 +500,34 @@ func TestGetMatchingIds(t *testing.T) { } func TestErrorIfNotEqual(t *testing.T) { - rm1 := FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "cm1"): rf.FromMap( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - }, - }), - resid.NewResId(cmap, "cm2"): rf.FromMap( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm2", - }, - }), - }) + rm1 := resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "cm1", + }, + }).Add(map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "cm2", + }, + }).ResMap() err := rm1.ErrorIfNotEqualSets(rm1) if err != nil { t.Fatalf("%v should equal itself %v", rm1, err) } - rm2 := FromMap(map[resid.ResId]*resource.Resource{ - resid.NewResId(cmap, "cm1"): rf.FromMap( - map[string]interface{}{ - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": map[string]interface{}{ - "name": "cm1", - }, - }), - }) + rm2 := resmaptest_test.NewRmBuilder(t, rf).Add( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMap", + "metadata": map[string]interface{}{ + "name": "cm1", + }, + }).ResMap() // test the different number of keys path err = rm1.ErrorIfNotEqualSets(rm2) @@ -602,8 +591,12 @@ func TestAppendAll(t *testing.T) { input2 := rmF.FromResource(r2) expected := New() - expected.Append(r1) - expected.Append(r2) + if err := expected.Append(r1); err != nil { + t.Fatalf("unexpected error: %v", err) + } + if err := expected.Append(r2); err != nil { + t.Fatalf("unexpected error: %v", err) + } if err := input1.AppendAll(input2); err != nil { t.Fatalf("unexpected error: %v", err) diff --git a/pkg/resmaptest/rmbuilder.go b/pkg/resmaptest/rmbuilder.go new file mode 100644 index 000000000..e4303820f --- /dev/null +++ b/pkg/resmaptest/rmbuilder.go @@ -0,0 +1,72 @@ +// Copyright 2019 The Kubernetes Authors. +// SPDX-License-Identifier: Apache-2.0 + +package resmaptest_test + +import ( + "testing" + + "sigs.k8s.io/kustomize/pkg/resid" + "sigs.k8s.io/kustomize/pkg/resmap" + "sigs.k8s.io/kustomize/pkg/resource" +) + +// Builds ResMaps for tests, with test-aware error handling. +type rmBuilder struct { + t *testing.T + m resmap.ResMap + rf *resource.Factory +} + +func NewSeededRmBuilder(t *testing.T, rf *resource.Factory, m resmap.ResMap) *rmBuilder { + return &rmBuilder{t: t, rf: rf, m: m} +} + +func NewRmBuilder(t *testing.T, rf *resource.Factory) *rmBuilder { + return NewSeededRmBuilder(t, rf, resmap.New()) +} + +func (rm *rmBuilder) Add(m map[string]interface{}) *rmBuilder { + err := rm.m.Append(rm.rf.FromMap(m)) + if err != nil { + rm.t.Fatalf("test setup failure: %v", err) + } + return rm +} + +func (rm *rmBuilder) AddWithId(id resid.ResId, m map[string]interface{}) *rmBuilder { + err := rm.m.AppendWithId(id, rm.rf.FromMap(m)) + if err != nil { + rm.t.Fatalf("test setup failure: %v", err) + } + return rm +} + +func (rm *rmBuilder) AddWithName(n string, m map[string]interface{}) *rmBuilder { + err := rm.m.Append(rm.rf.FromMapWithName(n, m)) + if err != nil { + rm.t.Fatalf("test setup failure: %v", err) + } + return rm +} + +func (rm *rmBuilder) AddWithNs(ns string, m map[string]interface{}) *rmBuilder { + err := rm.m.Append(rm.rf.FromMapWithNamespace(ns, m)) + if err != nil { + rm.t.Fatalf("test setup failure: %v", err) + } + return rm +} + +func (rm *rmBuilder) ReplaceResource(m map[string]interface{}) *rmBuilder { + r := rm.rf.FromMap(m) + err := rm.m.ReplaceResource(r.Id(), r) + if err != nil { + rm.t.Fatalf("test setup failure: %v", err) + } + return rm +} + +func (rm *rmBuilder) ResMap() resmap.ResMap { + return rm.m +} diff --git a/pkg/resource/factory.go b/pkg/resource/factory.go index 6b0b95fd9..651e6c9e8 100644 --- a/pkg/resource/factory.go +++ b/pkg/resource/factory.go @@ -1,18 +1,5 @@ -/* -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. -*/ +// Copyright 2019 The Kubernetes Authors. +// SPDX-License-Identifier: Apache-2.0 package resource @@ -51,6 +38,11 @@ func (rf *Factory) FromMapWithName(n string, m map[string]interface{}) *Resource return rf.makeOne(rf.kf.FromMap(m), nil).setOriginalName(n) } +// FromMapWithNamespace returns a new instance with the given "original" namespace. +func (rf *Factory) FromMapWithNamespace(n string, m map[string]interface{}) *Resource { + return rf.makeOne(rf.kf.FromMap(m), nil).setOriginalNs(n) +} + // FromMapAndOption returns a new instance of Resource with given options. func (rf *Factory) FromMapAndOption( m map[string]interface{}, args *types.GeneratorArgs, option *types.GeneratorOptions) *Resource { @@ -75,7 +67,7 @@ func (rf *Factory) makeOne( Kunstructured: u, options: o, } - return r.setOriginalName(r.GetName()) + return r.setOriginalName(r.GetName()).setOriginalNs(r.GetNamespace()) } // SliceFromPatches returns a slice of resources given a patch path diff --git a/pkg/resource/resource.go b/pkg/resource/resource.go index 00c1013a7..a60aa0241 100644 --- a/pkg/resource/resource.go +++ b/pkg/resource/resource.go @@ -32,6 +32,7 @@ import ( type Resource struct { ifc.Kunstructured originalName string + originalNs string options *types.GenArgs refBy []resid.ResId refVarNames []string @@ -57,6 +58,7 @@ func (r *Resource) Replace(other *Resource) { func (r *Resource) copyOtherFields(other *Resource) { r.originalName = other.originalName + r.originalNs = other.originalNs r.options = other.options r.refBy = other.copyRefBy() r.refVarNames = other.copyRefVarNames() @@ -98,6 +100,16 @@ func (r *Resource) setOriginalName(n string) *Resource { return r } +func (r *Resource) GetOriginalNs() string { + return r.originalNs +} + +// Making this public would be bad. +func (r *Resource) setOriginalNs(n string) *Resource { + r.originalNs = n + return r +} + // String returns resource as JSON. func (r *Resource) String() string { bs, err := r.MarshalJSON() @@ -134,10 +146,16 @@ func (r *Resource) GetNamespace() string { return namespace } -// Id returns the ResId for the resource. +// Id returns the immutable ResId for the resource. func (r *Resource) Id() resid.ResId { - return resid.NewResIdWithPrefixNamespace( - r.GetGvk(), r.GetOriginalName(), "", r.GetNamespace()) + return resid.NewResIdWithNamespace( + r.GetGvk(), r.GetOriginalName(), r.GetOriginalNs()) +} + +// FinalId returns a ResId for the resource using the mutable bits. +func (r *Resource) FinalId() resid.ResId { + return resid.NewResIdWithNamespace( + r.GetGvk(), r.GetName(), r.GetNamespace()) } // GetRefBy returns the ResIds that referred to current resource diff --git a/pkg/target/kusttarget_test.go b/pkg/target/kusttarget_test.go index 323c4d783..52e88fdae 100644 --- a/pkg/target/kusttarget_test.go +++ b/pkg/target/kusttarget_test.go @@ -214,9 +214,9 @@ func TestResourceNotFound(t *testing.T) { } func findSecret(m resmap.ResMap) *resource.Resource { - for id, res := range m.AsMap() { - if id.Gvk().Kind == "Secret" { - return res + for _, r := range m.Resources() { + if r.Id().Gvk().Kind == "Secret" { + return r } } return nil diff --git a/pkg/target/resourceconflict_test.go b/pkg/target/resourceconflict_test.go index e21f27ebb..0fd745564 100644 --- a/pkg/target/resourceconflict_test.go +++ b/pkg/target/resourceconflict_test.go @@ -1,18 +1,5 @@ -/* -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. -*/ +// Copyright 2019 The Kubernetes Authors. +// SPDX-License-Identifier: Apache-2.0 package target_test diff --git a/pkg/transformers/namereference_test.go b/pkg/transformers/namereference_test.go index b113b695a..a6844d8e2 100644 --- a/pkg/transformers/namereference_test.go +++ b/pkg/transformers/namereference_test.go @@ -5,6 +5,7 @@ package transformers import ( "sigs.k8s.io/kustomize/pkg/gvk" + "sigs.k8s.io/kustomize/pkg/resmaptest" "strings" "testing" @@ -14,61 +15,10 @@ import ( "sigs.k8s.io/kustomize/pkg/resource" ) -type rmFactory struct { - t *testing.T - m resmap.ResMap - rf *resource.Factory -} - -func NewSeededRmFactory(t *testing.T, rf *resource.Factory, m resmap.ResMap) *rmFactory { - return &rmFactory{t: t, rf: rf, m: m} -} - -func NewRmFactory(t *testing.T, rf *resource.Factory) *rmFactory { - return NewSeededRmFactory(t, rf, resmap.New()) -} - -func (rm *rmFactory) add(m map[string]interface{}) *rmFactory { - err := rm.m.Append(rm.rf.FromMap(m)) - if err != nil { - rm.t.Fatalf("test setup failure: %v", err) - } - return rm -} - -func (rm *rmFactory) addWithId(id resid.ResId, m map[string]interface{}) *rmFactory { - err := rm.m.AppendWithId(id, rm.rf.FromMap(m)) - if err != nil { - rm.t.Fatalf("test setup failure: %v", err) - } - return rm -} - -func (rm *rmFactory) addWithName(n string, m map[string]interface{}) *rmFactory { - err := rm.m.Append(rm.rf.FromMapWithName(n, m)) - if err != nil { - rm.t.Fatalf("test setup failure: %v", err) - } - return rm -} - -func (rm *rmFactory) replaceResource(m map[string]interface{}) *rmFactory { - r := rm.rf.FromMap(m) - err := rm.m.ReplaceResource(r.Id(), r) - if err != nil { - rm.t.Fatalf("test setup failure: %v", err) - } - return rm -} - -func (rm *rmFactory) resMap() resmap.ResMap { - return rm.m -} - func TestNameReferenceHappyRun(t *testing.T) { rf := resource.NewFactory( kunstruct.NewKunstructuredFactoryImpl()) - m := NewRmFactory(t, rf).addWithName( + m := resmaptest_test.NewRmBuilder(t, rf).AddWithName( "cm1", map[string]interface{}{ "apiVersion": "v1", @@ -76,7 +26,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-cm1-somehash", }, - }).addWithName( + }).AddWithName( "cm2", map[string]interface{}{ "apiVersion": "v1", @@ -84,7 +34,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-cm2-somehash", }, - }).addWithName( + }).AddWithName( "secret1", map[string]interface{}{ "apiVersion": "v1", @@ -92,7 +42,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-secret1-somehash", }, - }).addWithName( + }).AddWithName( "claim1", map[string]interface{}{ "apiVersion": "v1", @@ -100,7 +50,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-claim1", }, - }).add( + }).Add( map[string]interface{}{ "group": "extensions", "apiVersion": "v1beta1", @@ -119,7 +69,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - ).add( + ).Add( map[string]interface{}{ "group": "apps", "apiVersion": "v1", @@ -199,7 +149,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).add( + }).Add( map[string]interface{}{ "group": "apps", "apiVersion": "v1", @@ -231,7 +181,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).addWithName("sa", + }).AddWithName("sa", map[string]interface{}{ "apiVersion": "v1", "kind": "ServiceAccount", @@ -239,7 +189,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "name": "someprefix-sa", "namespace": "test", }, - }).add( + }).Add( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRoleBinding", @@ -253,7 +203,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "namespace": "test", }, }, - }).add( + }).Add( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRole", @@ -272,7 +222,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).add( + }).Add( map[string]interface{}{ "apiVersion": "batch/v1beta1", "kind": "CronJob", @@ -308,9 +258,9 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).resMap() + }).ResMap() - expected := NewSeededRmFactory(t, rf, m.ShallowCopy()).replaceResource( + expected := resmaptest_test.NewSeededRmBuilder(t, rf, m.ShallowCopy()).ReplaceResource( map[string]interface{}{ "group": "apps", "apiVersion": "v1", @@ -390,7 +340,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).replaceResource( + }).ReplaceResource( map[string]interface{}{ "group": "apps", "apiVersion": "v1", @@ -422,7 +372,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).replaceResource( + }).ReplaceResource( map[string]interface{}{ "group": "extensions", "apiVersion": "v1beta1", @@ -440,7 +390,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "servicePort": "80", }, }, - }).replaceResource( + }).ReplaceResource( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRoleBinding", @@ -454,7 +404,7 @@ func TestNameReferenceHappyRun(t *testing.T) { "namespace": "test", }, }, - }).replaceResource( + }).ReplaceResource( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRole", @@ -473,7 +423,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).replaceResource( + }).ReplaceResource( map[string]interface{}{ "apiVersion": "batch/v1beta1", "kind": "CronJob", @@ -509,7 +459,7 @@ func TestNameReferenceHappyRun(t *testing.T) { }, }, }, - }).resMap() + }).ResMap() nrt := NewNameReferenceTransformer(defaultTransformerConfig.NameReference) err := nrt.Transform(m) @@ -529,7 +479,7 @@ func TestNameReferenceUnhappyRun(t *testing.T) { expectedErr string }{ { - resMap: NewRmFactory(t, rf).add( + resMap: resmaptest_test.NewRmBuilder(t, rf).Add( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRole", @@ -546,10 +496,10 @@ func TestNameReferenceUnhappyRun(t *testing.T) { }, }, }, - }).resMap(), + }).ResMap(), expectedErr: "is expected to be string"}, { - resMap: NewRmFactory(t, rf).add( + resMap: resmaptest_test.NewRmBuilder(t, rf).Add( map[string]interface{}{ "apiVersion": "rbac.authorization.k8s.io/v1", "kind": "ClusterRole", @@ -566,7 +516,7 @@ func TestNameReferenceUnhappyRun(t *testing.T) { }, }, }, - }).resMap(), + }).ResMap(), expectedErr: "is expected to be either a string or a []interface{}"}, } @@ -587,7 +537,7 @@ func TestNameReferenceUnhappyRun(t *testing.T) { func TestNameReferencePersistentVolumeHappyRun(t *testing.T) { rf := resource.NewFactory( kunstruct.NewKunstructuredFactoryImpl()) - m := NewRmFactory(t, rf).addWithName( + m := resmaptest_test.NewRmBuilder(t, rf).AddWithName( "volume1", map[string]interface{}{ "apiVersion": "v1", @@ -595,7 +545,7 @@ func TestNameReferencePersistentVolumeHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-volume1", }, - }).addWithName( + }).AddWithName( "claim1", map[string]interface{}{ "apiVersion": "v1", @@ -607,9 +557,9 @@ func TestNameReferencePersistentVolumeHappyRun(t *testing.T) { "spec": map[string]interface{}{ "volumeName": "volume1", }, - }).resMap() + }).ResMap() - expected := NewRmFactory(t, rf).addWithName( + expected := resmaptest_test.NewRmBuilder(t, rf).AddWithName( "volume1", map[string]interface{}{ "apiVersion": "v1", @@ -617,7 +567,7 @@ func TestNameReferencePersistentVolumeHappyRun(t *testing.T) { "metadata": map[string]interface{}{ "name": "someprefix-volume1", }, - }).addWithName( + }).AddWithName( "claim1", map[string]interface{}{ "apiVersion": "v1", @@ -629,7 +579,7 @@ func TestNameReferencePersistentVolumeHappyRun(t *testing.T) { "spec": map[string]interface{}{ "volumeName": "someprefix-volume1", }, - }).resMap() + }).ResMap() expected.GetById( resid.NewResId(gvk.Gvk{Version: "v1", Kind: "PersistentVolume"}, "volume1")).AppendRefBy( resid.NewResId(gvk.Gvk{Version: "v1", Kind: "PersistentVolumeClaim"}, "claim1"))