@@ -59,16 +59,19 @@ func newTestVMSSList(cap int64, name, loc string) []compute.VirtualMachineScaleS
5959 }
6060}
6161
62- func newTestVMSSVMList () []compute.VirtualMachineScaleSetVM {
63- return []compute.VirtualMachineScaleSetVM {
64- {
65- ID : to .StringPtr (fakeVirtualMachineScaleSetVMID ),
66- InstanceID : to .StringPtr ("0" ),
62+ func newTestVMSSVMList (count int ) []compute.VirtualMachineScaleSetVM {
63+ var vmssVMList []compute.VirtualMachineScaleSetVM
64+ for i := 0 ; i < count ; i ++ {
65+ vmssVM := compute.VirtualMachineScaleSetVM {
66+ ID : to .StringPtr (fmt .Sprintf (fakeVirtualMachineScaleSetVMID , i )),
67+ InstanceID : to .StringPtr (fmt .Sprintf ("%d" , i )),
6768 VirtualMachineScaleSetVMProperties : & compute.VirtualMachineScaleSetVMProperties {
68- VMID : to .StringPtr ("123E4567-E89B-12D3-A456-426655440000" ),
69+ VMID : to .StringPtr (fmt . Sprintf ( "123E4567-E89B-12D3-A456-426655440000-%d" , i ) ),
6970 },
70- },
71+ }
72+ vmssVMList = append (vmssVMList , vmssVM )
7173 }
74+ return vmssVMList
7275}
7376
7477func TestMaxSize (t * testing.T ) {
@@ -94,7 +97,7 @@ func TestTargetSize(t *testing.T) {
9497 defer ctrl .Finish ()
9598
9699 expectedScaleSets := newTestVMSSList (3 , "test-asg" , "eastus" )
97- expectedVMSSVMs := newTestVMSSVMList ()
100+ expectedVMSSVMs := newTestVMSSVMList (3 )
98101
99102 provider := newTestProvider (t )
100103 mockVMSSClient := mockvmssclient .NewMockInterface (ctrl )
@@ -119,7 +122,7 @@ func TestIncreaseSize(t *testing.T) {
119122 defer ctrl .Finish ()
120123
121124 expectedScaleSets := newTestVMSSList (3 , "test-asg" , "eastus" )
122- expectedVMSSVMs := newTestVMSSVMList ()
125+ expectedVMSSVMs := newTestVMSSVMList (3 )
123126
124127 provider := newTestProvider (t )
125128 mockVMSSClient := mockvmssclient .NewMockInterface (ctrl )
@@ -177,7 +180,7 @@ func TestIncreaseSizeOnVMSSUpdating(t *testing.T) {
177180 },
178181 },
179182 }
180- expectedVMSSVMs := newTestVMSSVMList ()
183+ expectedVMSSVMs := newTestVMSSVMList (3 )
181184
182185 mockVMSSClient := mockvmssclient .NewMockInterface (ctrl )
183186 mockVMSSClient .EXPECT ().List (gomock .Any (), manager .config .ResourceGroup ).Return (expectedScaleSets , nil )
@@ -206,7 +209,7 @@ func TestBelongs(t *testing.T) {
206209 defer ctrl .Finish ()
207210
208211 expectedScaleSets := newTestVMSSList (3 , "test-asg" , "eastus" )
209- expectedVMSSVMs := newTestVMSSVMList ()
212+ expectedVMSSVMs := newTestVMSSVMList (3 )
210213
211214 provider := newTestProvider (t )
212215 mockVMSSClient := mockvmssclient .NewMockInterface (ctrl )
@@ -236,7 +239,7 @@ func TestBelongs(t *testing.T) {
236239
237240 validNode := & apiv1.Node {
238241 Spec : apiv1.NodeSpec {
239- ProviderID : "azure://" + fakeVirtualMachineScaleSetVMID ,
242+ ProviderID : "azure://" + fmt . Sprintf ( fakeVirtualMachineScaleSetVMID , 0 ) ,
240243 },
241244 }
242245 belongs , err := scaleSet .Belongs (validNode )
@@ -260,7 +263,7 @@ func TestDeleteNodes(t *testing.T) {
260263 },
261264 },
262265 }
263- expectedVMSSVMs := newTestVMSSVMList ()
266+ expectedVMSSVMs := newTestVMSSVMList (3 )
264267
265268 mockVMSSClient := mockvmssclient .NewMockInterface (ctrl )
266269 mockVMSSClient .EXPECT ().List (gomock .Any (), manager .config .ResourceGroup ).Return (expectedScaleSets , nil ).AnyTimes ()
@@ -288,11 +291,6 @@ func TestDeleteNodes(t *testing.T) {
288291 // logic is refactored out
289292 manager .regenerateCache ()
290293
291- node := & apiv1.Node {
292- Spec : apiv1.NodeSpec {
293- ProviderID : "azure://" + fakeVirtualMachineScaleSetVMID ,
294- },
295- }
296294 scaleSet , ok := provider .NodeGroups ()[0 ].(* ScaleSet )
297295 assert .True (t , ok )
298296
@@ -301,13 +299,25 @@ func TestDeleteNodes(t *testing.T) {
301299 assert .Equal (t , 3 , targetSize )
302300
303301 // Perform the delete operation
304- err = scaleSet .DeleteNodes ([]* apiv1.Node {node })
302+ nodesToDelete := []* apiv1.Node {
303+ {
304+ Spec : apiv1.NodeSpec {
305+ ProviderID : "azure://" + fmt .Sprintf (fakeVirtualMachineScaleSetVMID , 0 ),
306+ },
307+ },
308+ {
309+ Spec : apiv1.NodeSpec {
310+ ProviderID : "azure://" + fmt .Sprintf (fakeVirtualMachineScaleSetVMID , 2 ),
311+ },
312+ },
313+ }
314+ err = scaleSet .DeleteNodes (nodesToDelete )
305315 assert .NoError (t , err )
306316
307- // Ensure the the cached size has been proactively decremented
317+ // Ensure the the cached size has been proactively decremented by 2
308318 targetSize , err = scaleSet .TargetSize ()
309319 assert .NoError (t , err )
310- assert .Equal (t , 2 , targetSize )
320+ assert .Equal (t , 1 , targetSize )
311321}
312322
313323func TestDeleteNoConflictRequest (t * testing.T ) {
@@ -357,7 +367,7 @@ func TestDeleteNoConflictRequest(t *testing.T) {
357367
358368 node := & apiv1.Node {
359369 Spec : apiv1.NodeSpec {
360- ProviderID : "azure://" + fakeVirtualMachineScaleSetVMID ,
370+ ProviderID : "azure://" + fmt . Sprintf ( fakeVirtualMachineScaleSetVMID , 0 ) ,
361371 },
362372 }
363373
@@ -390,7 +400,7 @@ func TestScaleSetNodes(t *testing.T) {
390400 ctrl := gomock .NewController (t )
391401 defer ctrl .Finish ()
392402
393- expectedVMSSVMs := newTestVMSSVMList ()
403+ expectedVMSSVMs := newTestVMSSVMList (3 )
394404 expectedScaleSets := newTestVMSSList (3 , "test-asg" , "eastus" )
395405
396406 provider := newTestProvider (t )
@@ -409,10 +419,9 @@ func TestScaleSetNodes(t *testing.T) {
409419 assert .True (t , registered )
410420 assert .Equal (t , len (provider .NodeGroups ()), 1 )
411421
412- fakeProviderID := "azure://" + fakeVirtualMachineScaleSetVMID
413422 node := & apiv1.Node {
414423 Spec : apiv1.NodeSpec {
415- ProviderID : fakeProviderID ,
424+ ProviderID : "azure://" + fmt . Sprintf ( fakeVirtualMachineScaleSetVMID , 0 ) ,
416425 },
417426 }
418427 group , err := provider .NodeGroupForNode (node )
@@ -427,8 +436,10 @@ func TestScaleSetNodes(t *testing.T) {
427436 assert .NotNil (t , ss )
428437 instances , err := group .Nodes ()
429438 assert .NoError (t , err )
430- assert .Equal (t , len (instances ), 1 )
431- assert .Equal (t , instances [0 ], cloudprovider.Instance {Id : fakeProviderID })
439+ assert .Equal (t , len (instances ), 3 )
440+ assert .Equal (t , instances [0 ], cloudprovider.Instance {Id : "azure://" + fmt .Sprintf (fakeVirtualMachineScaleSetVMID , 0 )})
441+ assert .Equal (t , instances [1 ], cloudprovider.Instance {Id : "azure://" + fmt .Sprintf (fakeVirtualMachineScaleSetVMID , 1 )})
442+ assert .Equal (t , instances [2 ], cloudprovider.Instance {Id : "azure://" + fmt .Sprintf (fakeVirtualMachineScaleSetVMID , 2 )})
432443}
433444
434445func TestTemplateNodeInfo (t * testing.T ) {
0 commit comments