@@ -20,11 +20,146 @@ import (
20
20
"testing"
21
21
)
22
22
23
- func TestGenerator1 (t * testing.T ) {
23
+ // Generate a Secret and a ConfigMap from the same data
24
+ // to compare the result.
25
+ func TestGeneratorBasics (t * testing.T ) {
26
+ th := NewKustTestHarness (t , "/app" )
27
+ th .writeK ("/app" , `
28
+ namePrefix: blah-
29
+ configMapGenerator:
30
+ - name: bob
31
+ literals:
32
+ - fruit=apple
33
+ - vegetable=broccoli
34
+ env: foo.env
35
+ files:
36
+ - passphrase=phrase.dat
37
+ - forces.txt
38
+ secretGenerator:
39
+ - name: bob
40
+ literals:
41
+ - fruit=apple
42
+ - vegetable=broccoli
43
+ env: foo.env
44
+ files:
45
+ - passphrase=phrase.dat
46
+ - forces.txt
47
+ ` )
48
+ th .writeF ("/app/foo.env" , `
49
+ MOUNTAIN=everest
50
+ OCEAN=pacific
51
+ ` )
52
+ th .writeF ("/app/phrase.dat" , `
53
+ Life is short.
54
+ But the years are long.
55
+ Not while the evil days come not.
56
+ ` )
57
+ th .writeF ("/app/forces.txt" , `
58
+ gravitational
59
+ electromagnetic
60
+ strong nuclear
61
+ weak nuclear
62
+ ` )
63
+ m , err := th .makeKustTarget ().MakeCustomizedResMap ()
64
+ if err != nil {
65
+ t .Fatalf ("Err: %v" , err )
66
+ }
67
+ th .assertActualEqualsExpected (m , `
68
+ apiVersion: v1
69
+ data:
70
+ MOUNTAIN: everest
71
+ OCEAN: pacific
72
+ forces.txt: |2
73
+
74
+ gravitational
75
+ electromagnetic
76
+ strong nuclear
77
+ weak nuclear
78
+ fruit: apple
79
+ passphrase: |2
80
+
81
+ Life is short.
82
+ But the years are long.
83
+ Not while the evil days come not.
84
+ vegetable: broccoli
85
+ kind: ConfigMap
86
+ metadata:
87
+ name: blah-bob-k772g5db55
88
+ ---
89
+ apiVersion: v1
90
+ data:
91
+ MOUNTAIN: ZXZlcmVzdA==
92
+ OCEAN: cGFjaWZpYw==
93
+ forces.txt: CmdyYXZpdGF0aW9uYWwKZWxlY3Ryb21hZ25ldGljCnN0cm9uZyBudWNsZWFyCndlYWsgbnVjbGVhcgo=
94
+ fruit: YXBwbGU=
95
+ passphrase: CkxpZmUgaXMgc2hvcnQuCkJ1dCB0aGUgeWVhcnMgYXJlIGxvbmcuCk5vdCB3aGlsZSB0aGUgZXZpbCBkYXlzIGNvbWUgbm90Lgo=
96
+ vegetable: YnJvY2NvbGk=
97
+ kind: Secret
98
+ metadata:
99
+ name: blah-bob-gmc2824f4b
100
+ type: Opaque
101
+ ` )
102
+ }
103
+
104
+ // TODO: These should be errors instead.
105
+ func TestGeneratorRepeatsInKustomization (t * testing.T ) {
106
+ th := NewKustTestHarness (t , "/app" )
107
+ th .writeK ("/app" , `
108
+ namePrefix: blah-
109
+ configMapGenerator:
110
+ - name: bob
111
+ behavior: create
112
+ literals:
113
+ - bean=pinto
114
+ - star=wolf-rayet
115
+ literals:
116
+ - fruit=apple
117
+ - vegetable=broccoli
118
+ files:
119
+ - forces.txt
120
+ files:
121
+ - nobles=nobility.txt
122
+ ` )
123
+ th .writeF ("/app/forces.txt" , `
124
+ gravitational
125
+ electromagnetic
126
+ strong nuclear
127
+ weak nuclear
128
+ ` )
129
+ th .writeF ("/app/nobility.txt" , `
130
+ helium
131
+ neon
132
+ argon
133
+ krypton
134
+ xenon
135
+ radon
136
+ ` )
137
+ m , err := th .makeKustTarget ().MakeCustomizedResMap ()
138
+ if err != nil {
139
+ t .Fatalf ("Err: %v" , err )
140
+ }
141
+ th .assertActualEqualsExpected (m , `
142
+ apiVersion: v1
143
+ data:
144
+ fruit: apple
145
+ nobles: |2
146
+
147
+ helium
148
+ neon
149
+ argon
150
+ krypton
151
+ xenon
152
+ radon
153
+ vegetable: broccoli
154
+ kind: ConfigMap
155
+ metadata:
156
+ name: blah-bob-gfkcbk5ckf
157
+ ` )
158
+ }
159
+
160
+ func TestGeneratorOverlays (t * testing.T ) {
24
161
th := NewKustTestHarness (t , "/app/overlay" )
25
162
th .writeK ("/app/base1" , `
26
- apiVersion: kustomize.config.k8s.io/v1beta1
27
- kind: Kustomization
28
163
namePrefix: p1-
29
164
configMapGenerator:
30
165
- name: com1
@@ -33,8 +168,6 @@ configMapGenerator:
33
168
- from=base
34
169
` )
35
170
th .writeK ("/app/base2" , `
36
- apiVersion: kustomize.config.k8s.io/v1beta1
37
- kind: Kustomization
38
171
namePrefix: p2-
39
172
configMapGenerator:
40
173
- name: com2
@@ -43,8 +176,6 @@ configMapGenerator:
43
176
- from=base
44
177
` )
45
178
th .writeK ("/app/overlay/o1" , `
46
- apiVersion: kustomize.config.k8s.io/v1beta1
47
- kind: Kustomization
48
179
bases:
49
180
- ../../base1
50
181
configMapGenerator:
@@ -54,8 +185,6 @@ configMapGenerator:
54
185
- from=overlay
55
186
` )
56
187
th .writeK ("/app/overlay/o2" , `
57
- apiVersion: kustomize.config.k8s.io/v1beta1
58
- kind: Kustomization
59
188
bases:
60
189
- ../../base2
61
190
configMapGenerator:
@@ -65,8 +194,6 @@ configMapGenerator:
65
194
- from=overlay
66
195
` )
67
196
th .writeK ("/app/overlay" , `
68
- apiVersion: kustomize.config.k8s.io/v1beta1
69
- kind: Kustomization
70
197
bases:
71
198
- o1
72
199
- o2
0 commit comments