@@ -27,15 +27,13 @@ import (
2727 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5"
2828 "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4"
2929 . "github.com/onsi/gomega"
30- "github.com/pkg/errors"
3130 "go.uber.org/mock/gomock"
3231 corev1 "k8s.io/api/core/v1"
3332 "k8s.io/utils/ptr"
3433 clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3534
3635 infrav1 "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1"
3736 "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"
3937 "sigs.k8s.io/cluster-api-provider-azure/azure/services/networkinterfaces"
4038 "sigs.k8s.io/cluster-api-provider-azure/azure/services/publicips"
4139 "sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/mock_virtualmachines"
@@ -317,106 +315,57 @@ func TestCheckUserAssignedIdentities(t *testing.T) {
317315 name string
318316 specIdentities []infrav1.UserAssignedIdentity
319317 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 )
322320 }{
323321 {
324322 name : "no user assigned identities" ,
325323 specIdentities : []infrav1.UserAssignedIdentity {},
326324 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 : "" ,
331325 },
332326 {
333327 name : "matching user assigned identities" ,
334328 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
335329 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 : "" ,
341330 },
342331 {
343332 name : "less user assigned identities than expected" ,
344333 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity2 },
345334 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 ,
353336 },
354337 {
355338 name : "more user assigned identities than expected" ,
356339 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
357340 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 : "" ,
363341 },
364342 {
365343 name : "mismatched user assigned identities by content" ,
366344 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
367345 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 ,
374347 },
375348 {
376349 name : "duplicate user assigned identity in spec" ,
377350 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity },
378351 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" ,
394352 },
395353 }
396354 for _ , tc := range testcases {
397355 t .Run (tc .name , func (t * testing.T ) {
398- g := NewWithT (t )
399356 t .Parallel ()
400357 mockCtrl := gomock .NewController (t )
401358 defer mockCtrl .Finish ()
402359 scopeMock := mock_virtualmachines .NewMockVMScope (mockCtrl )
403- asyncMock := mock_async .NewMockReconciler (mockCtrl )
404- identitiesMock := mock_identities .NewMockClient (mockCtrl )
405360
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+ }
407364 s := & Service {
408- Scope : scopeMock ,
409- Reconciler : asyncMock ,
410- identitiesGetter : identitiesMock ,
365+ Scope : scopeMock ,
411366 }
412367
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 )
420369 })
421370 }
422371}
0 commit comments