@@ -27,15 +27,13 @@ import (
27
27
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5"
28
28
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4"
29
29
. "github.com/onsi/gomega"
30
- "github.com/pkg/errors"
31
30
"go.uber.org/mock/gomock"
32
31
corev1 "k8s.io/api/core/v1"
33
32
"k8s.io/utils/ptr"
34
33
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
35
34
36
35
infrav1 "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1"
37
36
"sigs.k8s.io/cluster-api-provider-azure/azure/services/async/mock_async"
38
- "sigs.k8s.io/cluster-api-provider-azure/azure/services/identities/mock_identities"
39
37
"sigs.k8s.io/cluster-api-provider-azure/azure/services/networkinterfaces"
40
38
"sigs.k8s.io/cluster-api-provider-azure/azure/services/publicips"
41
39
"sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/mock_virtualmachines"
@@ -317,106 +315,56 @@ func TestCheckUserAssignedIdentities(t *testing.T) {
317
315
name string
318
316
specIdentities []infrav1.UserAssignedIdentity
319
317
actualIdentities []infrav1.UserAssignedIdentity
320
- expect func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder )
321
- expectedError string
318
+ expectedKey string
322
319
}{
323
320
{
324
321
name : "no user assigned identities" ,
325
322
specIdentities : []infrav1.UserAssignedIdentity {},
326
323
actualIdentities : []infrav1.UserAssignedIdentity {},
327
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
328
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
329
- },
330
- expectedError : "" ,
331
324
},
332
325
{
333
326
name : "matching user assigned identities" ,
334
327
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
335
328
actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
336
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
337
- s .SubscriptionID ().Return ("123" )
338
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
339
- },
340
- expectedError : "" ,
341
329
},
342
330
{
343
331
name : "less user assigned identities than expected" ,
344
332
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity2 },
345
333
actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
346
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
347
- s .SubscriptionID ().AnyTimes ().Return ("123" )
348
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
349
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity2 .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity2 .ProviderID , nil )
350
- s .SetConditionFalse (infrav1 .VMIdentitiesReadyCondition , infrav1 .UserAssignedIdentityMissingReason , clusterv1 .ConditionSeverityWarning , vmMissingUAI + fakeUserAssignedIdentity2 .ProviderID ).Times (1 )
351
- },
352
- expectedError : "" ,
334
+ expectedKey : fakeUserAssignedIdentity2 .ProviderID ,
353
335
},
354
336
{
355
337
name : "more user assigned identities than expected" ,
356
338
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
357
339
actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity2 },
358
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
359
- s .SubscriptionID ().Return ("123" )
360
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
361
- },
362
- expectedError : "" ,
363
340
},
364
341
{
365
342
name : "mismatched user assigned identities by content" ,
366
343
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
367
344
actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity2 },
368
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
369
- s .SubscriptionID ().Return ("123" )
370
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
371
- s .SetConditionFalse (infrav1 .VMIdentitiesReadyCondition , infrav1 .UserAssignedIdentityMissingReason , clusterv1 .ConditionSeverityWarning , vmMissingUAI + fakeUserAssignedIdentity .ProviderID ).Times (1 )
372
- },
373
- expectedError : "" ,
345
+ expectedKey : fakeUserAssignedIdentity .ProviderID ,
374
346
},
375
347
{
376
348
name : "duplicate user assigned identity in spec" ,
377
349
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity },
378
350
actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
379
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
380
- s .SubscriptionID ().AnyTimes ().Return ("123" )
381
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return (fakeUserAssignedIdentity .ProviderID , nil )
382
- },
383
- expectedError : "" ,
384
- },
385
- {
386
- name : "invalid client id" ,
387
- specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
388
- actualIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
389
- expect : func (s * mock_virtualmachines.MockVMScopeMockRecorder , i * mock_identities.MockClientMockRecorder ) {
390
- s .SubscriptionID ().Return ("123" )
391
- i .GetClientID (gomockinternal .AContext (), fakeUserAssignedIdentity .ProviderID ).AnyTimes ().Return ("" , errors .New ("failed to get client id" ))
392
- },
393
- expectedError : "failed to get client id" ,
394
351
},
395
352
}
396
353
for _ , tc := range testcases {
397
354
t .Run (tc .name , func (t * testing.T ) {
398
- g := NewWithT (t )
399
355
t .Parallel ()
400
356
mockCtrl := gomock .NewController (t )
401
357
defer mockCtrl .Finish ()
402
358
scopeMock := mock_virtualmachines .NewMockVMScope (mockCtrl )
403
- asyncMock := mock_async .NewMockReconciler (mockCtrl )
404
- identitiesMock := mock_identities .NewMockClient (mockCtrl )
405
359
406
- tc .expect (scopeMock .EXPECT (), identitiesMock .EXPECT ())
360
+ if tc .expectedKey != "" {
361
+ scopeMock .EXPECT ().SetConditionFalse (infrav1 .VMIdentitiesReadyCondition , infrav1 .UserAssignedIdentityMissingReason , clusterv1 .ConditionSeverityWarning , vmMissingUAI + tc .expectedKey ).Times (1 )
362
+ }
407
363
s := & Service {
408
- Scope : scopeMock ,
409
- Reconciler : asyncMock ,
410
- identitiesGetter : identitiesMock ,
364
+ Scope : scopeMock ,
411
365
}
412
366
413
- err := s .checkUserAssignedIdentities (context .TODO (), tc .specIdentities , tc .actualIdentities )
414
- if tc .expectedError != "" {
415
- g .Expect (err ).To (HaveOccurred ())
416
- g .Expect (err .Error ()).To (ContainSubstring (tc .expectedError ))
417
- } else {
418
- g .Expect (err ).NotTo (HaveOccurred ())
419
- }
367
+ s .checkUserAssignedIdentities (tc .specIdentities , tc .actualIdentities )
420
368
})
421
369
}
422
370
}
0 commit comments