Skip to content

Commit 8a869f6

Browse files
authored
Merge pull request #4882 from ChristopherFry/cfry/user-config-priority
Add test ensuring user configuration overrides default configuration
2 parents c16957f + 570865b commit 8a869f6

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

api/internal/target/kusttarget_test.go

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,92 @@ metadata:
258258
assert.Equal(t, string(expYaml), string(actYaml))
259259
}
260260

261+
func TestConfigurationsOverrideDefault(t *testing.T) {
262+
th := kusttest_test.MakeHarness(t)
263+
th.WriteK("/merge-config", `
264+
apiVersion: kustomize.config.k8s.io/v1beta1
265+
kind: Kustomization
266+
namePrefix: foo-
267+
nameSuffix: -bar
268+
resources:
269+
- deployment.yaml
270+
- config.yaml
271+
- secret.yaml
272+
configurations:
273+
- name-prefix-rules.yaml
274+
`)
275+
th.WriteF("/merge-config/name-prefix-rules.yaml", `
276+
namePrefix:
277+
- path: metadata/name
278+
apiVersion: v1
279+
kind: Deployment
280+
- path: metadata/name
281+
apiVersion: v1
282+
kind: Secret
283+
`)
284+
th.WriteF("/merge-config/deployment.yaml", `
285+
apiVersion: apps/v1
286+
metadata:
287+
name: deployment1
288+
kind: Deployment
289+
`)
290+
th.WriteF("/merge-config/config.yaml", `
291+
apiVersion: v1
292+
kind: ConfigMap
293+
metadata:
294+
name: config
295+
`)
296+
th.WriteF("/merge-config/secret.yaml", `
297+
apiVersion: v1
298+
kind: Secret
299+
metadata:
300+
name: secret
301+
`)
302+
303+
pvd := provider.NewDefaultDepProvider()
304+
resFactory := pvd.GetResourceFactory()
305+
306+
resources := []*resource.Resource{
307+
resFactory.FromMapWithName("deployment1", map[string]interface{}{
308+
"apiVersion": "apps/v1",
309+
"kind": "Deployment",
310+
"metadata": map[string]interface{}{
311+
"name": "foo-deployment1-bar",
312+
},
313+
}), resFactory.FromMapWithName("config", map[string]interface{}{
314+
"apiVersion": "v1",
315+
"kind": "ConfigMap",
316+
"metadata": map[string]interface{}{
317+
"name": "config-bar",
318+
},
319+
}), resFactory.FromMapWithName("secret", map[string]interface{}{
320+
"apiVersion": "v1",
321+
"kind": "Secret",
322+
"metadata": map[string]interface{}{
323+
"name": "foo-secret-bar",
324+
},
325+
}),
326+
}
327+
328+
expected := resmap.New()
329+
for _, r := range resources {
330+
err := expected.Append(r)
331+
require.NoError(t, err)
332+
}
333+
expected.RemoveBuildAnnotations()
334+
expYaml, err := expected.AsYaml()
335+
require.NoError(t, err)
336+
337+
kt := makeKustTargetWithRf(t, th.GetFSys(), "/merge-config", pvd)
338+
require.NoError(t, kt.Load())
339+
actual, err := kt.MakeCustomizedResMap()
340+
require.NoError(t, err)
341+
actual.RemoveBuildAnnotations()
342+
actYaml, err := actual.AsYaml()
343+
require.NoError(t, err)
344+
require.Equal(t, string(expYaml), string(actYaml))
345+
}
346+
261347
func TestDuplicateExternalGeneratorsForbidden(t *testing.T) {
262348
th := kusttest_test.MakeHarness(t)
263349
th.WriteK("/generator", `

0 commit comments

Comments
 (0)