Add test ensuring user configuration overrides default configuration

This commit is contained in:
Christopher Fry
2022-11-21 23:39:45 +00:00
parent 78978723db
commit 0c4f863bc5

View File

@@ -258,6 +258,110 @@ metadata:
assert.Equal(t, string(expYaml), string(actYaml))
}
func TestMergeTransformersConfig(t *testing.T) {
th := kusttest_test.MakeHarness(t)
th.WriteK("/merge-config", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namePrefix: foo-
nameSuffix: -bar
namespace: ns1
resources:
- deployment.yaml
- config.yaml
- secret.yaml
- namespace.yaml
configurations:
- name-prefix-rules.yaml
`)
th.WriteF("/merge-config/name-prefix-rules.yaml", `
namePrefix:
- path: metadata/name
apiVersion: v1
kind: Deployment
- path: metadata/name
apiVersion: v1
kind: Secret
`)
th.WriteF("/merge-config/deployment.yaml", `
apiVersion: apps/v1
metadata:
name: deployment1
kind: Deployment
`)
th.WriteF("/merge-config/config.yaml", `
apiVersion: v1
kind: ConfigMap
metadata:
name: config
`)
th.WriteF("/merge-config/secret.yaml", `
apiVersion: v1
kind: Secret
metadata:
name: secret
`)
th.WriteF("/merge-config/namespace.yaml", `
apiVersion: v1
kind: Namespace
metadata:
name: ns1
`)
pvd := provider.NewDefaultDepProvider()
resFactory := pvd.GetResourceFactory()
resources := []*resource.Resource{
resFactory.FromMapWithName("deployment1", map[string]interface{}{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": map[string]interface{}{
"name": "foo-deployment1-bar",
"namespace": "ns1",
},
}), resFactory.FromMapWithName("config", map[string]interface{}{
"apiVersion": "v1",
"kind": "ConfigMap",
"metadata": map[string]interface{}{
"name": "config-bar",
"namespace": "ns1",
},
}), resFactory.FromMapWithName("secret", map[string]interface{}{
"apiVersion": "v1",
"kind": "Secret",
"metadata": map[string]interface{}{
"name": "foo-secret-bar",
"namespace": "ns1",
},
}), resFactory.FromMapWithName("ns1", map[string]interface{}{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": map[string]interface{}{
"name": "ns1",
},
}),
}
expected := resmap.New()
for _, r := range resources {
if err := expected.Append(r); err != nil {
t.Fatalf("unexpected error %v", err)
}
}
expected.RemoveBuildAnnotations()
expYaml, err := expected.AsYaml()
assert.NoError(t, err)
kt := makeKustTargetWithRf(t, th.GetFSys(), "/merge-config", pvd)
assert.NoError(t, kt.Load())
actual, err := kt.MakeCustomizedResMap()
assert.NoError(t, err)
actual.RemoveBuildAnnotations()
actYaml, err := actual.AsYaml()
assert.NoError(t, err)
assert.Equal(t, string(expYaml), string(actYaml))
}
func TestDuplicateExternalGeneratorsForbidden(t *testing.T) {
th := kusttest_test.MakeHarness(t)
th.WriteK("/generator", `