diff --git a/k8sdeps/kunstruct/factory_test.go b/k8sdeps/kunstruct/factory_test.go index 51e2be793..4fe710934 100644 --- a/k8sdeps/kunstruct/factory_test.go +++ b/k8sdeps/kunstruct/factory_test.go @@ -42,6 +42,15 @@ func TestSliceFromBytes(t *testing.T) { testConfigMap.Map(), }, }) + testConfigMapList := factory.FromMap( + map[string]interface{}{ + "apiVersion": "v1", + "kind": "ConfigMapList", + "items": []interface{}{ + testConfigMap.Map(), + testConfigMap.Map(), + }, + }) tests := []struct { name string @@ -151,6 +160,24 @@ items: expectedOut: []ifc.Kunstructured{testList}, expectedErr: false, }, + { + name: "ConfigMapList", + input: []byte(` +apiVersion: v1 +kind: ConfigMapList +items: +- apiVersion: v1 + kind: ConfigMap + metadata: + name: winnie +- apiVersion: v1 + kind: ConfigMap + metadata: + name: winnie +`), + expectedOut: []ifc.Kunstructured{testConfigMapList}, + expectedErr: false, + }, } for _, test := range tests { diff --git a/pkg/resource/factory_test.go b/pkg/resource/factory_test.go index 45394f11d..b8138676f 100644 --- a/pkg/resource/factory_test.go +++ b/pkg/resource/factory_test.go @@ -68,7 +68,7 @@ items: patchList2 := patch.StrategicMerge("patch5.yaml") patch5 := ` apiVersion: v1 -kind: List +kind: DeploymentList items: - apiVersion: apps/v1 kind: Deployment @@ -87,6 +87,12 @@ items: name: deployment-b spec: <<: *hostAliases +` + patchList3 := patch.StrategicMerge("patch6.yaml") + patch6 := ` +apiVersion: v1 +kind: List +items: ` testDeploymentSpec := map[string]interface{}{ "template": map[string]interface{}{ @@ -126,6 +132,7 @@ items: l.AddFile("/"+string(patchBad), []byte(patch3)) l.AddFile("/"+string(patchList), []byte(patch4)) l.AddFile("/"+string(patchList2), []byte(patch5)) + l.AddFile("/"+string(patchList3), []byte(patch6)) tests := []struct { name string @@ -163,6 +170,12 @@ items: expectedOut: []*Resource{testDeploymentA, testDeploymentB}, expectedErr: false, }, + { + name: "listWithNoEntries", + input: []patch.StrategicMerge{patchList3}, + expectedOut: []*Resource{}, + expectedErr: false, + }, } for _, test := range tests { rs, err := factory.SliceFromPatches(l, test.input)