@@ -22,6 +22,7 @@ import (
22
22
23
23
registryv1alpha1 "github.com/devfile/registry-operator/api/v1alpha1"
24
24
corev1 "k8s.io/api/core/v1"
25
+ "k8s.io/apimachinery/pkg/api/resource"
25
26
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26
27
)
27
28
@@ -189,6 +190,120 @@ func TestGetDevfileRegistryVolumeSource(t *testing.T) {
189
190
190
191
}
191
192
193
+ func TestGetDevfileIndexMemoryLimit (t * testing.T ) {
194
+ tests := []struct {
195
+ name string
196
+ cr registryv1alpha1.DevfileRegistry
197
+ want resource.Quantity
198
+ }{
199
+ {
200
+ name : "Case 1: Memory Limit size set in DevfileRegistry CR" ,
201
+ cr : registryv1alpha1.DevfileRegistry {
202
+ Spec : registryv1alpha1.DevfileRegistrySpec {
203
+ DevfileIndex : registryv1alpha1.DevfileRegistrySpecContainer {
204
+ MemoryLimit : "5Gi" ,
205
+ },
206
+ },
207
+ },
208
+ want : resource .MustParse ("5Gi" ),
209
+ },
210
+ {
211
+ name : "Case 2: Memory Limit size not set in DevfileRegistry CR" ,
212
+ cr : registryv1alpha1.DevfileRegistry {
213
+ Spec : registryv1alpha1.DevfileRegistrySpec {
214
+ DevfileIndex : registryv1alpha1.DevfileRegistrySpecContainer {},
215
+ },
216
+ },
217
+ want : resource .MustParse (DefaultDevfileIndexMemoryLimit ),
218
+ },
219
+ }
220
+ for _ , tt := range tests {
221
+ t .Run (tt .name , func (t * testing.T ) {
222
+ volSize := GetDevfileIndexMemoryLimit (& tt .cr )
223
+ if volSize != tt .want {
224
+ t .Errorf ("TestGetDevfileIndexMemoryLimit error: storage size mismatch, expected: %v got: %v" , tt .want , volSize )
225
+ }
226
+ })
227
+ }
228
+
229
+ }
230
+
231
+ func TestGetOCIRegistryMemoryLimit (t * testing.T ) {
232
+ tests := []struct {
233
+ name string
234
+ cr registryv1alpha1.DevfileRegistry
235
+ want resource.Quantity
236
+ }{
237
+ {
238
+ name : "Case 1: Memory Limit size set in DevfileRegistry CR" ,
239
+ cr : registryv1alpha1.DevfileRegistry {
240
+ Spec : registryv1alpha1.DevfileRegistrySpec {
241
+ OciRegistry : registryv1alpha1.DevfileRegistrySpecContainer {
242
+ MemoryLimit : "5Gi" ,
243
+ },
244
+ },
245
+ },
246
+ want : resource .MustParse ("5Gi" ),
247
+ },
248
+ {
249
+ name : "Case 2: Memory Limit size not set in DevfileRegistry CR" ,
250
+ cr : registryv1alpha1.DevfileRegistry {
251
+ Spec : registryv1alpha1.DevfileRegistrySpec {
252
+ OciRegistry : registryv1alpha1.DevfileRegistrySpecContainer {},
253
+ },
254
+ },
255
+ want : resource .MustParse (DefaultOCIRegistryMemoryLimit ),
256
+ },
257
+ }
258
+ for _ , tt := range tests {
259
+ t .Run (tt .name , func (t * testing.T ) {
260
+ volSize := GetOCIRegistryMemoryLimit (& tt .cr )
261
+ if volSize != tt .want {
262
+ t .Errorf ("TestGetOCIRegistryMemoryLimit error: storage size mismatch, expected: %v got: %v" , tt .want , volSize )
263
+ }
264
+ })
265
+ }
266
+
267
+ }
268
+
269
+ func TestGetRegistryViewerMemoryLimit (t * testing.T ) {
270
+ tests := []struct {
271
+ name string
272
+ cr registryv1alpha1.DevfileRegistry
273
+ want resource.Quantity
274
+ }{
275
+ {
276
+ name : "Case 1: Memory Limit size set in DevfileRegistry CR" ,
277
+ cr : registryv1alpha1.DevfileRegistry {
278
+ Spec : registryv1alpha1.DevfileRegistrySpec {
279
+ RegistryViewer : registryv1alpha1.DevfileRegistrySpecContainer {
280
+ MemoryLimit : "5Gi" ,
281
+ },
282
+ },
283
+ },
284
+ want : resource .MustParse ("5Gi" ),
285
+ },
286
+ {
287
+ name : "Case 2: Memory Limit size not set in DevfileRegistry CR" ,
288
+ cr : registryv1alpha1.DevfileRegistry {
289
+ Spec : registryv1alpha1.DevfileRegistrySpec {
290
+ RegistryViewer : registryv1alpha1.DevfileRegistrySpecContainer {},
291
+ },
292
+ },
293
+ want : resource .MustParse (DefaultRegistryViewerMemoryLimit ),
294
+ },
295
+ }
296
+ for _ , tt := range tests {
297
+ t .Run (tt .name , func (t * testing.T ) {
298
+ volSize := GetRegistryViewerMemoryLimit (& tt .cr )
299
+ if volSize != tt .want {
300
+ t .Errorf ("TestGetRegistryViewerMemoryLimit error: storage size mismatch, expected: %v got: %v" , tt .want , volSize )
301
+ }
302
+ })
303
+ }
304
+
305
+ }
306
+
192
307
func TestGetDevfileRegistryVolumeSize (t * testing.T ) {
193
308
tests := []struct {
194
309
name string
@@ -284,3 +399,33 @@ func TestIsTelemetryEnabled(t *testing.T) {
284
399
}
285
400
286
401
}
402
+
403
+ func Test_getDevfileRegistrySpecContainer (t * testing.T ) {
404
+ tests := []struct {
405
+ name string
406
+ quantity string
407
+ defaultValue string
408
+ want resource.Quantity
409
+ }{
410
+ {
411
+ name : "Case 1: DevfileRegistrySpecContainer given correct quantity" ,
412
+ quantity : "256Mi" ,
413
+ defaultValue : "512Mi" ,
414
+ want : resource .MustParse ("256Mi" ),
415
+ },
416
+ {
417
+ name : "Case 2: DevfileRegistrySpecContainer given correct quantity" ,
418
+ quantity : "test" ,
419
+ defaultValue : "512Mi" ,
420
+ want : resource .MustParse ("512Mi" ),
421
+ },
422
+ }
423
+ for _ , tt := range tests {
424
+ t .Run (tt .name , func (t * testing.T ) {
425
+ result := getDevfileRegistrySpecContainer (tt .quantity , tt .defaultValue )
426
+ if result != tt .want {
427
+ t .Errorf ("func TestgetDevfileRegistrySpecContainer(t *testing.T) {\n error: enablement value mismatch, expected: %v got: %v" , tt .want , result )
428
+ }
429
+ })
430
+ }
431
+ }
0 commit comments