@@ -135,203 +135,6 @@ func TestTransitionInstallPlan(t *testing.T) {
135
135
}
136
136
}
137
137
138
- func TestEnsureV1CRDVersions (t * testing.T ) {
139
- mainCRDPlural := "ins-main-abcde"
140
-
141
- currentVersions := []apiextensionsv1.CustomResourceDefinitionVersion {
142
- {
143
- Name : "v1alpha1" ,
144
- Served : true ,
145
- Storage : true ,
146
- },
147
- }
148
-
149
- addedVersions := []apiextensionsv1.CustomResourceDefinitionVersion {
150
- {
151
- Name : "v1alpha1" ,
152
- Served : true ,
153
- Storage : false ,
154
- },
155
- {
156
- Name : "v1alpha2" ,
157
- Served : true ,
158
- Storage : true ,
159
- },
160
- }
161
-
162
- missingVersions := []apiextensionsv1.CustomResourceDefinitionVersion {
163
- {
164
- Name : "v1alpha2" ,
165
- Served : true ,
166
- Storage : true ,
167
- },
168
- }
169
-
170
- tests := []struct {
171
- name string
172
- oldCRD apiextensionsv1.CustomResourceDefinition
173
- newCRD apiextensionsv1.CustomResourceDefinition
174
- expectedFailure bool
175
- }{
176
- {
177
- name : "existing versions are present" ,
178
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
179
- oldCRD := v1crd (mainCRDPlural )
180
- oldCRD .Spec .Versions = currentVersions
181
- return oldCRD
182
- }(),
183
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
184
- newCRD := v1crd (mainCRDPlural )
185
- newCRD .Spec .Versions = addedVersions
186
- return newCRD
187
- }(),
188
- expectedFailure : false ,
189
- },
190
- {
191
- name : "missing versions in new CRD 1" ,
192
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
193
- oldCRD := v1crd (mainCRDPlural )
194
- oldCRD .Spec .Versions = currentVersions
195
- return oldCRD
196
- }(),
197
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
198
- newCRD := v1crd (mainCRDPlural )
199
- newCRD .Spec .Versions = missingVersions
200
- return newCRD
201
- }(),
202
- expectedFailure : true ,
203
- },
204
- {
205
- name : "missing version in new CRD 2" ,
206
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
207
- oldCRD := v1crd (mainCRDPlural )
208
- oldCRD .Spec .Versions [0 ].Name = "v1alpha1"
209
- return oldCRD
210
- }(),
211
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
212
- newCRD := v1crd (mainCRDPlural )
213
- newCRD .Spec .Versions [0 ].Name = "v1alpha2"
214
- return newCRD
215
- }(),
216
- expectedFailure : true ,
217
- },
218
- {
219
- name : "existing version is present in new CRD's versions" ,
220
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
221
- oldCRD := v1crd (mainCRDPlural )
222
- oldCRD .Spec .Versions [0 ].Name = "v1alpha1"
223
- return oldCRD
224
- }(),
225
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
226
- newCRD := v1crd (mainCRDPlural )
227
- newCRD .Spec .Versions = addedVersions
228
- return newCRD
229
- }(),
230
- expectedFailure : false ,
231
- },
232
- }
233
-
234
- for _ , tt := range tests {
235
- err := EnsureV1CRDVersions (& tt .oldCRD , & tt .newCRD )
236
- if tt .expectedFailure {
237
- require .Error (t , err )
238
- }
239
- }
240
- }
241
-
242
- func TestRemoveDeprecatedV1StoredVersions (t * testing.T ) {
243
- mainCRDPlural := "ins-main-test"
244
-
245
- currentVersions := []apiextensionsv1.CustomResourceDefinitionVersion {
246
- {
247
- Name : "v1alpha1" ,
248
- Served : true ,
249
- Storage : false ,
250
- },
251
- {
252
- Name : "v1alpha2" ,
253
- Served : true ,
254
- Storage : true ,
255
- },
256
- }
257
-
258
- newVersions := []apiextensionsv1.CustomResourceDefinitionVersion {
259
- {
260
- Name : "v1alpha2" ,
261
- Served : true ,
262
- Storage : false ,
263
- },
264
- {
265
- Name : "apiextensionsv1beta1" ,
266
- Served : true ,
267
- Storage : true ,
268
- },
269
- }
270
-
271
- crdStatusStoredVersions := apiextensionsv1.CustomResourceDefinitionStatus {
272
- StoredVersions : []string {},
273
- }
274
-
275
- tests := []struct {
276
- name string
277
- oldCRD apiextensionsv1.CustomResourceDefinition
278
- newCRD apiextensionsv1.CustomResourceDefinition
279
- expectedResult []string
280
- }{
281
- {
282
- name : "only one stored version exists" ,
283
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
284
- oldCRD := v1crd (mainCRDPlural )
285
- oldCRD .Spec .Versions = currentVersions
286
- oldCRD .Status = crdStatusStoredVersions
287
- oldCRD .Status .StoredVersions = []string {"v1alpha1" }
288
- return oldCRD
289
- }(),
290
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
291
- newCRD := v1crd (mainCRDPlural )
292
- newCRD .Spec .Versions = newVersions
293
- return newCRD
294
- }(),
295
- expectedResult : nil ,
296
- },
297
- {
298
- name : "multiple stored versions with one deprecated version" ,
299
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
300
- oldCRD := v1crd (mainCRDPlural )
301
- oldCRD .Spec .Versions = currentVersions
302
- oldCRD .Status .StoredVersions = []string {"v1alpha1" , "v1alpha2" }
303
- return oldCRD
304
- }(),
305
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
306
- newCRD := v1crd (mainCRDPlural )
307
- newCRD .Spec .Versions = newVersions
308
- return newCRD
309
- }(),
310
- expectedResult : []string {"v1alpha2" },
311
- },
312
- {
313
- name : "multiple stored versions with all deprecated version" ,
314
- oldCRD : func () apiextensionsv1.CustomResourceDefinition {
315
- oldCRD := v1crd (mainCRDPlural )
316
- oldCRD .Spec .Versions = currentVersions
317
- oldCRD .Status .StoredVersions = []string {"v1alpha1" , "v1alpha3" }
318
- return oldCRD
319
- }(),
320
- newCRD : func () apiextensionsv1.CustomResourceDefinition {
321
- newCRD := v1crd (mainCRDPlural )
322
- newCRD .Spec .Versions = newVersions
323
- return newCRD
324
- }(),
325
- expectedResult : nil ,
326
- },
327
- }
328
-
329
- for _ , tt := range tests {
330
- resultCRD := removeDeprecatedV1StoredVersions (& tt .oldCRD , & tt .newCRD )
331
- require .Equal (t , tt .expectedResult , resultCRD )
332
- }
333
- }
334
-
335
138
func TestExecutePlan (t * testing.T ) {
336
139
namespace := "ns"
337
140
0 commit comments