@@ -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,56 @@ 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
322319 }{
323320 {
324321 name : "no user assigned identities" ,
325322 specIdentities : []infrav1.UserAssignedIdentity {},
326323 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 : "" ,
331324 },
332325 {
333326 name : "matching user assigned identities" ,
334327 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
335328 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 : "" ,
341329 },
342330 {
343331 name : "less user assigned identities than expected" ,
344332 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity2 },
345333 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 ,
353335 },
354336 {
355337 name : "more user assigned identities than expected" ,
356338 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
357339 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 : "" ,
363340 },
364341 {
365342 name : "mismatched user assigned identities by content" ,
366343 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity },
367344 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 ,
374346 },
375347 {
376348 name : "duplicate user assigned identity in spec" ,
377349 specIdentities : []infrav1.UserAssignedIdentity {fakeUserAssignedIdentity , fakeUserAssignedIdentity },
378350 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" ,
394351 },
395352 }
396353 for _ , tc := range testcases {
397354 t .Run (tc .name , func (t * testing.T ) {
398- g := NewWithT (t )
399355 t .Parallel ()
400356 mockCtrl := gomock .NewController (t )
401357 defer mockCtrl .Finish ()
402358 scopeMock := mock_virtualmachines .NewMockVMScope (mockCtrl )
403- asyncMock := mock_async .NewMockReconciler (mockCtrl )
404- identitiesMock := mock_identities .NewMockClient (mockCtrl )
405359
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+ }
407363 s := & Service {
408- Scope : scopeMock ,
409- Reconciler : asyncMock ,
410- identitiesGetter : identitiesMock ,
364+ Scope : scopeMock ,
411365 }
412366
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 )
420368 })
421369 }
422370}
0 commit comments