github.com/Azure/aad-pod-identity@v1.8.17/pkg/cloudprovider/vm_test.go (about) 1 package cloudprovider 2 3 import ( 4 "testing" 5 6 "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestSetUserIdentitiesVM(t *testing.T) { 11 testIdentityInfo := &vmIdentityInfo{ 12 info: &compute.VirtualMachineIdentity{}, 13 } 14 15 // adding id1 16 update := testIdentityInfo.SetUserIdentities(map[string]bool{"id1": true}) 17 assert.True(t, update) 18 // adding id2 19 update = testIdentityInfo.SetUserIdentities(map[string]bool{"id2": true}) 20 assert.True(t, update) 21 // add id3 and delete id1 22 update = testIdentityInfo.SetUserIdentities(map[string]bool{"id3": true, "id4": true, "id1": false}) 23 assert.True(t, update) 24 } 25 26 func TestRemoveUserIdentityVM(t *testing.T) { 27 testIdentityInfo := &vmIdentityInfo{ 28 info: &compute.VirtualMachineIdentity{ 29 UserAssignedIdentities: map[string]*compute.VirtualMachineIdentityUserAssignedIdentitiesValue{ 30 "id1": {}, 31 "id2": {}, 32 }, 33 }, 34 } 35 36 // removing id1 (should be case-insensitive) 37 removed := testIdentityInfo.RemoveUserIdentity("ID1") 38 assert.True(t, removed) 39 assert.Len(t, testIdentityInfo.info.UserAssignedIdentities, 1) 40 41 // removing id2 (should be case-insensitive) 42 removed = testIdentityInfo.RemoveUserIdentity("ID2") 43 assert.True(t, removed) 44 assert.Len(t, testIdentityInfo.info.UserAssignedIdentities, 0) 45 46 removed = testIdentityInfo.RemoveUserIdentity("ID2") 47 assert.False(t, removed) 48 assert.Len(t, testIdentityInfo.info.UserAssignedIdentities, 0) 49 }