@@ -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,57 @@ 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
319
+ expect func ( s * mock_virtualmachines. MockVMScopeMockRecorder )
322
320
}{
323
321
{
324
322
name : "no user assigned identities" ,
325
323
specIdentities : []infrav1.UserAssignedIdentity {},
326
324
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
325
},
332
326
{
333
327
name : "matching user assigned identities" ,
334
328
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
335
329
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
330
},
342
331
{
343
332
name : "less user assigned identities than expected" ,
344
333
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity2 },
345
334
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 : "" ,
335
+ expectedKey : fakeUserAssignedIdentity2 .ProviderID ,
353
336
},
354
337
{
355
338
name : "more user assigned identities than expected" ,
356
339
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
357
340
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
341
},
364
342
{
365
343
name : "mismatched user assigned identities by content" ,
366
344
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
367
345
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 : "" ,
346
+ expectedKey : fakeUserAssignedIdentity .ProviderID ,
374
347
},
375
348
{
376
349
name : "duplicate user assigned identity in spec" ,
377
350
specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity },
378
351
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
352
},
395
353
}
396
354
for _ , tc := range testcases {
397
355
t .Run (tc .name , func (t * testing.T ) {
398
- g := NewWithT (t )
399
356
t .Parallel ()
400
357
mockCtrl := gomock .NewController (t )
401
358
defer mockCtrl .Finish ()
402
359
scopeMock := mock_virtualmachines .NewMockVMScope (mockCtrl )
403
- asyncMock := mock_async .NewMockReconciler (mockCtrl )
404
- identitiesMock := mock_identities .NewMockClient (mockCtrl )
405
360
406
- tc .expect (scopeMock .EXPECT (), identitiesMock .EXPECT ())
361
+ if tc .expectedKey != "" {
362
+ scopeMock .EXPECT ().SetConditionFalse (infrav1 .VMIdentitiesReadyCondition , infrav1 .UserAssignedIdentityMissingReason , clusterv1 .ConditionSeverityWarning , vmMissingUAI + tc .expectedKey ).Times (1 )
363
+ }
407
364
s := & Service {
408
- Scope : scopeMock ,
409
- Reconciler : asyncMock ,
410
- identitiesGetter : identitiesMock ,
365
+ Scope : scopeMock ,
411
366
}
412
367
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
- }
368
+ s .checkUserAssignedIdentities (tc .specIdentities , tc .actualIdentities )
420
369
})
421
370
}
422
371
}
0 commit comments