1919import static org .mockito .Mockito .doReturn ;
2020import static org .mockito .Mockito .verify ;
2121import static org .mockito .Mockito .when ;
22+ import static org .mockito .Mockito .mock ;
23+ import static org .mockito .Mockito .any ;
24+
25+ import java .util .Arrays ;
26+ import java .util .HashMap ;
27+ import java .util .Map ;
2228
2329import org .junit .Before ;
2430import org .junit .Test ;
2531import org .mockito .Mock ;
2632import org .mockito .MockitoAnnotations ;
2733import org .mockito .Spy ;
2834
35+ import com .vmware .vim25 .VirtualDevice ;
2936import com .vmware .vim25 .VirtualMachineConfigSpec ;
30-
37+ import com . vmware . vim25 . VirtualMachineVideoCard ;
3138import com .cloud .agent .api .Command ;
3239import com .cloud .agent .api .ScaleVmAnswer ;
3340import com .cloud .agent .api .ScaleVmCommand ;
@@ -64,6 +71,10 @@ public VmwareHypervisorHost getHyperHost(VmwareContext context, Command cmd) {
6471 VirtualMachineMO vmMo ;
6572 @ Mock
6673 VirtualMachineConfigSpec vmConfigSpec ;
74+ @ Mock
75+ VirtualMachineMO vmMo3dgpu ;
76+ @ Mock
77+ VirtualMachineTO vmSpec3dgpu ;
6778
6879 @ Before
6980 public void setup () {
@@ -90,4 +101,20 @@ public void testScaleVMF1() throws Exception {
90101 verify (_resource ).execute (cmd );
91102 }
92103
104+ @ Test
105+ public void testStartVm3dgpuEnabled () throws Exception {
106+ Map <String , String > specDetails = new HashMap <String , String >();
107+ specDetails .put ("svga.vramSize" , "131072" );
108+ when (vmSpec3dgpu .getDetails ()).thenReturn (specDetails );
109+
110+ VirtualMachineVideoCard videoCard = mock (VirtualMachineVideoCard .class );
111+ when (videoCard .getVideoRamSizeInKB ()).thenReturn (65536l );
112+ when (vmMo3dgpu .getAllDeviceList ()).thenReturn (Arrays .asList ((VirtualDevice ) videoCard ));
113+
114+ when (vmMo3dgpu .configureVm (any (VirtualMachineConfigSpec .class ))).thenReturn (true );
115+
116+ _resource .postVideoCardMemoryConfigBeforeStart (vmMo3dgpu , vmSpec3dgpu );
117+ verify (vmMo3dgpu ).configureVm (any (VirtualMachineConfigSpec .class ));
118+ }
119+
93120}
0 commit comments