2020import static org .junit .Assert .assertFalse ;
2121import static org .junit .Assert .assertTrue ;
2222import static org .junit .Assert .assertNull ;
23+ import static org .mockito .Matchers .any ;
24+ import static org .mockito .Mockito .never ;
2325import static org .mockito .Mockito .verify ;
2426import static org .mockito .Mockito .verifyZeroInteractions ;
2527import static org .mockito .Mockito .when ;
3436
3537import com .vmware .vim25 .AboutInfo ;
3638import com .vmware .vim25 .BoolPolicy ;
39+ import com .vmware .vim25 .ClusterConfigInfoEx ;
40+ import com .vmware .vim25 .DatacenterConfigInfo ;
3741import com .vmware .vim25 .DVPortgroupConfigInfo ;
3842import com .vmware .vim25 .DVPortgroupConfigSpec ;
3943import com .vmware .vim25 .DVSTrafficShapingPolicy ;
4044import com .vmware .vim25 .LongPolicy ;
4145import com .vmware .vim25 .ServiceContent ;
46+ import com .vmware .vim25 .VirtualMachineConfigSpec ;
4247import com .vmware .vim25 .VMwareDVSPortSetting ;
4348import com .vmware .vim25 .VmwareDistributedVirtualSwitchVlanIdSpec ;
4449
@@ -55,6 +60,16 @@ public class HypervisorHostHelperTest {
5560 ServiceContent serviceContent ;
5661 @ Mock
5762 AboutInfo aboutInfo ;
63+ @ Mock
64+ private VirtualMachineConfigSpec vmSpec ;
65+ @ Mock
66+ private ClusterMO clusterMO ;
67+ @ Mock
68+ private DatacenterMO datacenterMO ;
69+ @ Mock
70+ private ClusterConfigInfoEx clusterConfigInfo ;
71+ @ Mock
72+ private DatacenterConfigInfo datacenterConfigInfo ;
5873
5974 String vSwitchName ;
6075 Integer networkRateMbps ;
@@ -79,6 +94,8 @@ public static void tearDownAfterClass() throws Exception {
7994
8095 @ Before
8196 public void setUp () throws Exception {
97+ when (clusterMO .getClusterConfigInfo ()).thenReturn (clusterConfigInfo );
98+ when (datacenterMO .getDatacenterConfigInfo ()).thenReturn (datacenterConfigInfo );
8299 }
83100
84101 @ After
@@ -557,4 +574,29 @@ public void testComposeCloudNetworkNameUnTaggedVlanGuestTraffic() throws Excepti
557574 String cloudNetworkName = HypervisorHostHelper .composeCloudNetworkName (prefix , vlanId , svlanId , networkRateMbps , vSwitchName );
558575 assertEquals ("cloud.guest.400.s123.512.1-vSwitch2" , cloudNetworkName );
559576 }
577+
578+ @ Test
579+ public void testSetVMHardwareVersionClusterLevel () throws Exception {
580+ when (clusterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn ("vmx-11" );
581+ when (datacenterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn ("vmx-9" );
582+ HypervisorHostHelper .setVMHardwareVersion (vmSpec , clusterMO , datacenterMO );
583+ verify (vmSpec ).setVersion ("vmx-11" );
584+ verify (vmSpec , never ()).setVersion ("vmx-9" );
585+ }
586+
587+ @ Test
588+ public void testSetVMHardwareVersionDatacenterLevel () throws Exception {
589+ when (clusterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn (null );
590+ when (datacenterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn ("vmx-9" );
591+ HypervisorHostHelper .setVMHardwareVersion (vmSpec , clusterMO , datacenterMO );
592+ verify (vmSpec ).setVersion ("vmx-9" );
593+ }
594+
595+ @ Test
596+ public void testSetVMHardwareVersionUnset () throws Exception {
597+ when (clusterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn (null );
598+ when (datacenterConfigInfo .getDefaultHardwareVersionKey ()).thenReturn (null );
599+ HypervisorHostHelper .setVMHardwareVersion (vmSpec , clusterMO , datacenterMO );
600+ verify (vmSpec , never ()).setVersion (any (String .class ));
601+ }
560602}
0 commit comments