...
1
2
3
4 package krusty_test
5
6 import (
7 "testing"
8
9 kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
10 )
11
12
13 func TestNamePrefixSuffixPatch(t *testing.T) {
14 th := kusttest_test.MakeHarness(t)
15
16 th.WriteF("handlers/kustomization.yaml", `
17 nameSuffix: -suffix
18 resources:
19 - deployment.yaml
20 `)
21
22 th.WriteF("handlers/deployment.yaml", `
23 apiVersion: apps/v1
24 kind: Deployment
25 metadata:
26 name: short
27 spec:
28 template:
29 spec:
30 containers:
31 - name: handler
32 `)
33
34 th.WriteF("mysql/kustomization.yaml", `
35 configMapGenerator:
36 - name: mysql
37 literals:
38 - MYSQL_USER=default
39 - MYSQL_DATABASE=default
40 - HOST=everest
41 `)
42
43 th.WriteK(".", `
44 resources:
45 - mysql
46 - handlers
47
48 configMapGenerator:
49 - name: mysql
50 behavior: merge
51 literals:
52 - MYSQL_DATABASE=db
53 - MYSQL_USER=my-user
54 - MYSQL_PASSWORD='correct horse battery staple'
55
56 patches:
57 - target:
58 kind: Deployment
59 name: s.*
60 patch: |-
61 kind: Deployment
62 metadata:
63 name: ignored
64 spec:
65 template:
66 spec:
67 containers:
68 - name: handler
69 envFrom:
70 - configMapRef:
71 name: mysql
72 env:
73 - valueFrom:
74 configMapKeyRef:
75 name: mysql
76 key: MYSQL_DATABASE
77 `)
78
79 m := th.Run(".", th.MakeDefaultOptions())
80
81 th.AssertActualEqualsExpected(m, `
82 apiVersion: v1
83 data:
84 HOST: everest
85 MYSQL_DATABASE: db
86 MYSQL_PASSWORD: correct horse battery staple
87 MYSQL_USER: my-user
88 kind: ConfigMap
89 metadata:
90 name: mysql-t7tt4cdbmf
91 ---
92 apiVersion: apps/v1
93 kind: Deployment
94 metadata:
95 name: short-suffix
96 spec:
97 template:
98 spec:
99 containers:
100 - env:
101 - valueFrom:
102 configMapKeyRef:
103 key: MYSQL_DATABASE
104 name: mysql-t7tt4cdbmf
105 envFrom:
106 - configMapRef:
107 name: mysql-t7tt4cdbmf
108 name: handler
109 `)
110 }
111
View as plain text