@@ -32,7 +32,9 @@ import (
32
32
"github.com/stretchr/testify/suite"
33
33
corev1 "k8s.io/api/core/v1"
34
34
v1 "k8s.io/api/core/v1"
35
+ k8sErrors "k8s.io/apimachinery/pkg/api/errors"
35
36
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
37
+ "k8s.io/apimachinery/pkg/runtime/schema"
36
38
)
37
39
38
40
type TenantTestSuite struct {
@@ -148,7 +150,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongECP() {
148
150
k8sClientCreateSecretMock = func (ctx context.Context , namespace string , secret * v1.Secret , opts metav1.CreateOptions ) (* v1.Secret , error ) {
149
151
return nil , nil
150
152
}
151
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
153
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
152
154
suite .assert .NotNil (err )
153
155
}
154
156
@@ -174,7 +176,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongActiveDirectoryConfig() {
174
176
175
177
return nil , nil
176
178
}
177
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
179
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
178
180
suite .assert .NotNil (err )
179
181
}
180
182
@@ -196,7 +198,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongBuiltInUsers() {
196
198
}
197
199
return nil , nil
198
200
}
199
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
201
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
200
202
suite .assert .NotNil (err )
201
203
}
202
204
@@ -227,7 +229,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithOIDCAndWrongServerCertificates
227
229
k8sClientDeleteSecretMock = func (ctx context.Context , namespace , name string , opts metav1.DeleteOptions ) error {
228
230
return nil
229
231
}
230
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
232
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
231
233
suite .assert .NotNil (err )
232
234
}
233
235
@@ -246,7 +248,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongClientCertificates() {
246
248
k8sClientDeleteSecretMock = func (ctx context.Context , namespace , name string , opts metav1.DeleteOptions ) error {
247
249
return nil
248
250
}
249
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
251
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
250
252
suite .assert .NotNil (err )
251
253
}
252
254
@@ -264,7 +266,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongCAsCertificates() {
264
266
}
265
267
return nil , nil
266
268
}
267
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
269
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
268
270
suite .assert .NotNil (err )
269
271
}
270
272
@@ -283,7 +285,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongMtlsCertificates() {
283
285
k8sClientDeleteSecretMock = func (ctx context.Context , namespace , name string , opts metav1.DeleteOptions ) error {
284
286
return nil
285
287
}
286
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
288
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
287
289
suite .assert .NotNil (err )
288
290
}
289
291
@@ -304,7 +306,7 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongKESConfig() {
304
306
k8sClientDeleteSecretMock = func (ctx context.Context , namespace , name string , opts metav1.DeleteOptions ) error {
305
307
return nil
306
308
}
307
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
309
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
308
310
suite .assert .NotNil (err )
309
311
}
310
312
@@ -318,7 +320,55 @@ func (suite *TenantTestSuite) TestCreateTenantWithWrongPool() {
318
320
k8sClientDeleteSecretMock = func (ctx context.Context , namespace , name string , opts metav1.DeleteOptions ) error {
319
321
return nil
320
322
}
321
- _ , err := createTenant (context .Background (), params , suite .k8sclient , nil , & models.Principal {})
323
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
324
+ suite .assert .NotNil (err )
325
+ }
326
+
327
+ func (suite * TenantTestSuite ) TestCreateTenantWithImageRegistryCreateError () {
328
+ params , _ := suite .initCreateTenantRequest ()
329
+ params .Body .MountPath = "/mock-path"
330
+ registry := "mock-registry"
331
+ username := "mock-username"
332
+ password := "mock-password"
333
+ params .Body .ImageRegistry = & models.ImageRegistry {
334
+ Registry : & registry ,
335
+ Username : & username ,
336
+ Password : & password ,
337
+ }
338
+
339
+ k8sClientCreateSecretMock = func (ctx context.Context , namespace string , secret * v1.Secret , opts metav1.CreateOptions ) (* v1.Secret , error ) {
340
+ if strings .HasPrefix (secret .Name , fmt .Sprintf ("%s-secret" , * params .Body .Name )) {
341
+ return nil , nil
342
+ }
343
+ return nil , errors .New ("mock-create-error" )
344
+ }
345
+ k8sclientGetSecretMock = func (ctx context.Context , namespace , secretName string , opts metav1.GetOptions ) (* corev1.Secret , error ) {
346
+ return nil , k8sErrors .NewNotFound (schema.GroupResource {}, "" )
347
+ }
348
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
349
+ suite .assert .NotNil (err )
350
+ }
351
+
352
+ func (suite * TenantTestSuite ) TestCreateTenantWithImageRegistryUpdateError () {
353
+ params , _ := suite .initCreateTenantRequest ()
354
+ registry := "mock-registry"
355
+ username := "mock-username"
356
+ password := "mock-password"
357
+ params .Body .ImageRegistry = & models.ImageRegistry {
358
+ Registry : & registry ,
359
+ Username : & username ,
360
+ Password : & password ,
361
+ }
362
+ k8sClientCreateSecretMock = func (ctx context.Context , namespace string , secret * v1.Secret , opts metav1.CreateOptions ) (* v1.Secret , error ) {
363
+ return nil , nil
364
+ }
365
+ k8sClientUpdateSecretMock = func (ctx context.Context , namespace string , secret * v1.Secret , opts metav1.UpdateOptions ) (* v1.Secret , error ) {
366
+ return nil , errors .New ("mock-update-error" )
367
+ }
368
+ k8sclientGetSecretMock = func (ctx context.Context , namespace , secretName string , opts metav1.GetOptions ) (* corev1.Secret , error ) {
369
+ return & v1.Secret {}, nil
370
+ }
371
+ _ , err := createTenant (context .Background (), params , suite .k8sclient , & models.Principal {})
322
372
suite .assert .NotNil (err )
323
373
}
324
374
@@ -392,6 +442,20 @@ func (suite *TenantTestSuite) initTenantConfigurationRequest() (params operator_
392
442
return params , api
393
443
}
394
444
445
+ func (suite * TenantTestSuite ) TestParseTenantConfigurationWithoutError () {
446
+ tenant := & miniov2.Tenant {
447
+ Spec : miniov2.TenantSpec {
448
+ Env : []corev1.EnvVar {
449
+ {Name : "mock" , Value : "mock-env" },
450
+ {Name : "mock" , Value : "mock-env-2" },
451
+ },
452
+ },
453
+ }
454
+ config , err := parseTenantConfiguration (context .Background (), suite .k8sclient , tenant )
455
+ suite .assert .NotNil (config )
456
+ suite .assert .Nil (err )
457
+ }
458
+
395
459
func (suite * TenantTestSuite ) TestUpdateTenantConfigurationHandlerWithError () {
396
460
params , api := suite .initUpdateTenantConfigurationRequest ()
397
461
response := api .OperatorAPIUpdateTenantConfigurationHandler .Handle (params , & models.Principal {})
@@ -629,11 +693,63 @@ func (suite *TenantTestSuite) TestSetTenantAdministratorsHandlerWithError() {
629
693
suite .assert .True (ok )
630
694
}
631
695
696
+ func (suite * TenantTestSuite ) TestSetTenantAdministratorsWithAdminClientError () {
697
+ params , _ := suite .initSetTenantAdministratorsRequest ()
698
+ tenant := & miniov2.Tenant {}
699
+ err := setTenantAdministrators (context .Background (), tenant , suite .k8sclient , params )
700
+ suite .assert .NotNil (err )
701
+ }
702
+
703
+ func (suite * TenantTestSuite ) TestSetTenantAdministratorsWithUserPolicyError () {
704
+ params , _ := suite .initSetTenantAdministratorsRequest ()
705
+ tenant := & miniov2.Tenant {
706
+ Spec : miniov2.TenantSpec {
707
+ Env : []corev1.EnvVar {
708
+ {Name : "accesskey" , Value : "mock-access" },
709
+ {Name : "secretkey" , Value : "mock-secret" },
710
+ },
711
+ },
712
+ }
713
+ params .Body .UserDNS = []string {"mock-user" }
714
+ err := setTenantAdministrators (context .Background (), tenant , suite .k8sclient , params )
715
+ suite .assert .NotNil (err )
716
+ }
717
+
718
+ func (suite * TenantTestSuite ) TestSetTenantAdministratorsWithGroupPolicyError () {
719
+ params , _ := suite .initSetTenantAdministratorsRequest ()
720
+ tenant := & miniov2.Tenant {
721
+ Spec : miniov2.TenantSpec {
722
+ Env : []corev1.EnvVar {
723
+ {Name : "accesskey" , Value : "mock-access" },
724
+ {Name : "secretkey" , Value : "mock-secret" },
725
+ },
726
+ },
727
+ }
728
+ params .Body .GroupDNS = []string {"mock-user" }
729
+ err := setTenantAdministrators (context .Background (), tenant , suite .k8sclient , params )
730
+ suite .assert .NotNil (err )
731
+ }
732
+
733
+ func (suite * TenantTestSuite ) TestSetTenantAdministratorsWithoutError () {
734
+ params , _ := suite .initSetTenantAdministratorsRequest ()
735
+ tenant := & miniov2.Tenant {
736
+ Spec : miniov2.TenantSpec {
737
+ Env : []corev1.EnvVar {
738
+ {Name : "accesskey" , Value : "mock-access" },
739
+ {Name : "secretkey" , Value : "mock-secret" },
740
+ },
741
+ },
742
+ }
743
+ err := setTenantAdministrators (context .Background (), tenant , suite .k8sclient , params )
744
+ suite .assert .Nil (err )
745
+ }
746
+
632
747
func (suite * TenantTestSuite ) initSetTenantAdministratorsRequest () (params operator_api.SetTenantAdministratorsParams , api operations.OperatorAPI ) {
633
748
registerTenantHandlers (& api )
634
749
params .HTTPRequest = & http.Request {}
635
750
params .Namespace = "mock-namespace"
636
751
params .Tenant = "mock-tenant"
752
+ params .Body = & models.SetAdministratorsRequest {}
637
753
return params , api
638
754
}
639
755
0 commit comments