This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 84974a1e086 Remove powermock from vmware-base & vmware hypervisor 
plugin (#7798)
84974a1e086 is described below

commit 84974a1e086033b0a30b9a640064a23e1e993db0
Author: Vishesh <[email protected]>
AuthorDate: Fri Aug 4 14:10:29 2023 +0530

    Remove powermock from vmware-base & vmware hypervisor plugin (#7798)
---
 .../com/cloud/hypervisor/guru/VMwareGuruTest.java  | 17 ++++---
 .../hypervisor/guru/VmwareVmImplementerTest.java   | 17 ++++---
 .../vmware/VmwareDatacenterApiUnitTest.java        | 24 ++++-----
 .../vmware/manager/VmwareManagerImplTest.java      |  6 +--
 .../vmware/resource/VmwareResourceTest.java        | 59 +++++++++++-----------
 .../motion/VmwareStorageMotionStrategyTest.java    |  4 +-
 .../org.mockito.plugins.MockMaker                  |  1 +
 .../hypervisor/vmware/mo/DatastoreMOTest.java      | 45 ++++++++---------
 .../com/cloud/hypervisor/vmware/mo/HostMOTest.java | 50 +++++++-----------
 .../vmware/mo/HypervisorHostHelperTest.java        | 17 +++----
 .../hypervisor/vmware/mo/VirtualMachineMOTest.java | 15 +++---
 .../hypervisor/vmware/util/VmwareContextTest.java  |  5 +-
 .../hypervisor/vmware/util/VmwareHelperTest.java   |  5 +-
 .../org.mockito.plugins.MockMaker                  |  1 +
 14 files changed, 131 insertions(+), 135 deletions(-)

diff --git 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VMwareGuruTest.java
 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VMwareGuruTest.java
index 7398ef99a8c..06bf539c962 100644
--- 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VMwareGuruTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VMwareGuruTest.java
@@ -25,6 +25,7 @@ import java.util.Map;
 
 import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
 import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,8 +35,7 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.support.AnnotationConfigContextLoader;
 
@@ -54,8 +54,7 @@ import com.cloud.utils.Pair;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineManager;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({VMwareGuru.class})
+@RunWith(MockitoJUnitRunner.class)
 @ContextConfiguration(loader = AnnotationConfigContextLoader.class)
 public class VMwareGuruTest {
 
@@ -78,9 +77,16 @@ public class VMwareGuruTest {
     @Mock
     ClusterDetailsDao _clusterDetailsDao;
 
+    AutoCloseable closeable;
+
     @Before
     public void testSetUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        closeable.close();
     }
 
     @Test
@@ -99,7 +105,6 @@ public class VMwareGuruTest {
         HostVO hostVO = Mockito.mock(HostVO.class);
 
         Mockito.when(localStorage.getId()).thenReturn(1L);
-        Mockito.when(vm.getId()).thenReturn(1L);
         Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
         Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
         
Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);
diff --git 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VmwareVmImplementerTest.java
 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VmwareVmImplementerTest.java
index 309eb6d35c4..80f73d61916 100755
--- 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VmwareVmImplementerTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VmwareVmImplementerTest.java
@@ -23,7 +23,7 @@ import static org.mockito.Mockito.verify;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.cloudstack.framework.config.ConfigKey;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -32,16 +32,14 @@ import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.support.AnnotationConfigContextLoader;
 
 import com.cloud.agent.api.to.VirtualMachineTO;
 import com.cloud.vm.VmDetailConstants;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({ConfigKey.class, VmwareVmImplementer.class})
+@RunWith(MockitoJUnitRunner.class)
 @ContextConfiguration(loader = AnnotationConfigContextLoader.class)
 public class VmwareVmImplementerTest {
 
@@ -54,9 +52,16 @@ public class VmwareVmImplementerTest {
 
     private Map<String,String> vmDetails = new HashMap<String, String>();
 
+    AutoCloseable closeable;
+
     @Before
     public void testSetUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        closeable.close();
     }
 
     private void setConfigValues(Boolean globalNV, Boolean globalNVPVM, String 
localNV){
diff --git 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
index f0a06d0dcf1..0629e455148 100644
--- 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java
@@ -80,12 +80,9 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScan.Filter;
@@ -104,11 +101,11 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(loader = AnnotationConfigContextLoader.class)
-@PrepareForTest({ComponentContext.class, ApplicationContext.class})
 public class VmwareDatacenterApiUnitTest {
 
     @Inject
@@ -166,11 +163,13 @@ public class VmwareDatacenterApiUnitTest {
     @Mock
     private static RemoveVmwareDcCmd removeCmd;
 
+    AutoCloseable closeable;
+
     @Before
     public void testSetUp() {
         Mockito.when(_configDao.isPremium()).thenReturn(true);
         ComponentContext.initComponentsLifeCycle();
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
 
         DataCenterVO zone =
             new DataCenterVO(UUID.randomUUID().toString(), "test", "8.8.8.8", 
null, "10.0.0.1", null, "10.0.0.1/24", null, null, NetworkType.Basic, null, 
null, true,
@@ -208,21 +207,21 @@ public class VmwareDatacenterApiUnitTest {
 
         dcZoneMap = new VmwareDatacenterZoneMapVO(zoneId, vmwareDcId);
 
-        
Mockito.when(_dcDao.persist(Matchers.any(DataCenterVO.class))).thenReturn(zone);
+        Mockito.when(_dcDao.persist(any(DataCenterVO.class))).thenReturn(zone);
         Mockito.when(_dcDao.findById(1L)).thenReturn(zone);
-        
Mockito.when(_podDao.persist(Matchers.any(HostPodVO.class))).thenReturn(pod);
+        Mockito.when(_podDao.persist(any(HostPodVO.class))).thenReturn(pod);
         Mockito.when(_podDao.findById(1L)).thenReturn(pod);
-        
Mockito.when(_clusterDao.persist(Matchers.any(ClusterVO.class))).thenReturn(cluster);
+        
Mockito.when(_clusterDao.persist(any(ClusterVO.class))).thenReturn(cluster);
         Mockito.when(_clusterDao.findById(1L)).thenReturn(cluster);
         Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(null);
         Mockito.when(_clusterDao.expunge(1L)).thenReturn(true);
-        
Mockito.when(_clusterDetailsDao.persist(Matchers.any(ClusterDetailsVO.class))).thenReturn(clusterDetails);
+        
Mockito.when(_clusterDetailsDao.persist(any(ClusterDetailsVO.class))).thenReturn(clusterDetails);
         Mockito.when(_clusterDetailsDao.expunge(1L)).thenReturn(true);
-        
Mockito.when(_vmwareDcDao.persist(Matchers.any(VmwareDatacenterVO.class))).thenReturn(dc);
+        
Mockito.when(_vmwareDcDao.persist(any(VmwareDatacenterVO.class))).thenReturn(dc);
         Mockito.when(_vmwareDcDao.findById(1L)).thenReturn(null);
         Mockito.when(_vmwareDcDao.expunge(1L)).thenReturn(true);
         
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, 
vCenterHost)).thenReturn(null);
-        
Mockito.when(_vmwareDcZoneMapDao.persist(Matchers.any(VmwareDatacenterZoneMapVO.class))).thenReturn(dcZoneMap);
+        
Mockito.when(_vmwareDcZoneMapDao.persist(any(VmwareDatacenterZoneMapVO.class))).thenReturn(dcZoneMap);
         Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(null);
         Mockito.when(_vmwareDcZoneMapDao.expunge(1L)).thenReturn(true);
         Mockito.when(addCmd.getZoneId()).thenReturn(1L);
@@ -234,8 +233,9 @@ public class VmwareDatacenterApiUnitTest {
     }
 
     @After
-    public void tearDown() {
+    public void tearDown() throws Exception {
         CallContext.unregister();
+        closeable.close();
     }
 
     //@Test(expected = InvalidParameterValueException.class)
diff --git 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImplTest.java
 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImplTest.java
index 714036d4e37..0b7eff0ee75 100644
--- 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImplTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImplTest.java
@@ -29,7 +29,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.cloud.dc.ClusterDetailsDao;
 import com.cloud.dc.ClusterVO;
@@ -112,8 +112,8 @@ public class VmwareManagerImplTest {
         Assert.assertEquals(vmwareDatacenter.getUser(), 
updateVmwareDcCmd.getUsername());
         Assert.assertEquals(vmwareDatacenter.getPassword(), 
updateVmwareDcCmd.getPassword());
         Mockito.verify(clusterDetails, 
Mockito.times(2)).put(Mockito.anyString(), Mockito.anyString());
-        Mockito.verify(clusterDetailsDao, 
Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMapOf(String.class, 
String.class));
+        Mockito.verify(clusterDetailsDao, 
Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMap());
         Mockito.verify(hostDetails, Mockito.times(3)).put(Mockito.anyString(), 
Mockito.anyString());
-        Mockito.verify(hostDetailsDao, 
Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMapOf(String.class, 
String.class));
+        Mockito.verify(hostDetailsDao, 
Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMap());
     }
 }
diff --git 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java
 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java
index e47ec2411a1..da4273d0db6 100644
--- 
a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java
@@ -19,14 +19,13 @@ package com.cloud.hypervisor.vmware.resource;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -37,19 +36,18 @@ import java.util.Map;
 
 import org.apache.cloudstack.storage.command.CopyCommand;
 import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InOrder;
 import org.mockito.InjectMocks;
-import org.mockito.Matchers;
 import org.mockito.Mock;
+import org.mockito.MockedConstruction;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.cloud.agent.api.Answer;
 import com.cloud.agent.api.Command;
@@ -92,8 +90,7 @@ import com.vmware.vim25.VirtualDeviceConfigSpec;
 import com.vmware.vim25.VirtualMachineConfigSpec;
 import com.vmware.vim25.VirtualMachineVideoCard;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({CopyCommand.class})
+@RunWith(MockitoJUnitRunner.class)
 public class VmwareResourceTest {
 
     private static final String VOLUME_PATH = "XXXXXXXXXXXX";
@@ -187,10 +184,12 @@ public class VmwareResourceTest {
 
     private Map<String,String> specsArray = new HashMap<String,String>();
 
+    AutoCloseable closeable;
+
     @Before
     public void setup() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        storageCmd = PowerMockito.mock(CopyCommand.class);
+        closeable = MockitoAnnotations.openMocks(this);
+        storageCmd = Mockito.mock(CopyCommand.class);
         doReturn(context).when(_resource).getServiceContext(null);
         when(cmd.getVirtualMachine()).thenReturn(vmSpec);
 
@@ -218,19 +217,17 @@ public class VmwareResourceTest {
         when(hostCapability.isNestedHVSupported()).thenReturn(true);
     }
 
+    @After
+    public void tearDown() throws Exception {
+        closeable.close();
+    }
+
     //Test successful scaling up the vm
     @Test
     public void testScaleVMF1() throws Exception {
         when(_resource.getHyperHost(context, null)).thenReturn(hyperHost);
         doReturn("i-2-3-VM").when(cmd).getVmName();
         when(hyperHost.findVmOnHyperHost("i-2-3-VM")).thenReturn(vmMo);
-        doReturn(536870912L).when(vmSpec).getMinRam();
-        doReturn(1).when(vmSpec).getCpus();
-        doReturn(1000).when(vmSpec).getMinSpeed();
-        doReturn(1000).when(vmSpec).getMaxSpeed();
-        doReturn(536870912L).when(vmSpec).getMaxRam();
-        doReturn(false).when(vmSpec).getLimitCpuUse();
-        when(vmMo.configureVm(vmConfigSpec)).thenReturn(true);
 
         _resource.execute(cmd);
         verify(_resource).execute(cmd);
@@ -251,7 +248,7 @@ public class VmwareResourceTest {
         final NicTO[] nics = new NicTO[] {nicTo1, nicTo2};
 
         String macSequence = _resource.generateMacSequence(nics);
-        assertEquals(macSequence, "02:00:65:b5:00:03|01:23:45:67:89:AB");
+        assertEquals("02:00:65:b5:00:03|01:23:45:67:89:AB", macSequence);
     }
 
     @Test
@@ -404,8 +401,8 @@ public class VmwareResourceTest {
     @Test
     public void 
checkStorageProcessorAndHandlerNfsVersionAttributeVersionNotSet(){
         
_resource.checkStorageProcessorAndHandlerNfsVersionAttribute(storageCmd);
-        
verify(_resource).examineStorageSubSystemCommandNfsVersion(Matchers.eq(storageCmd),
 any(EnumMap.class));
-        
verify(_resource).examineStorageSubSystemCommandFullCloneFlagForVmware(Matchers.eq(storageCmd),
 any(EnumMap.class));
+        
verify(_resource).examineStorageSubSystemCommandNfsVersion(eq(storageCmd), 
any(EnumMap.class));
+        
verify(_resource).examineStorageSubSystemCommandFullCloneFlagForVmware(eq(storageCmd),
 any(EnumMap.class));
         verify(_resource).reconfigureProcessorByHandler(any(EnumMap.class));
         assertEquals(NFS_VERSION, _resource.storageNfsVersion);
     }
@@ -415,24 +412,26 @@ public class VmwareResourceTest {
     public void checkStorageProcessorAndHandlerNfsVersionAttributeVersionSet(){
         _resource.storageNfsVersion = NFS_VERSION;
         
_resource.checkStorageProcessorAndHandlerNfsVersionAttribute(storageCmd);
-        verify(_resource, 
never()).examineStorageSubSystemCommandNfsVersion(Matchers.eq(storageCmd), 
any(EnumMap.class));
+        verify(_resource, 
never()).examineStorageSubSystemCommandNfsVersion(eq(storageCmd), 
any(EnumMap.class));
     }
 
-    @Test(expected= CloudRuntimeException.class)
+    @Test(expected=CloudRuntimeException.class)
     public void testFindVmOnDatacenterNullHyperHostReference() throws 
Exception {
-        when(hyperHost.getMor()).thenReturn(null);
-        _resource.findVmOnDatacenter(context, hyperHost, volume);
+        try (MockedConstruction<DatacenterMO> ignored = 
Mockito.mockConstruction(DatacenterMO.class)) {
+            _resource.findVmOnDatacenter(context, hyperHost, volume);
+        }
     }
 
     @Test
-    @PrepareForTest({DatacenterMO.class, VmwareResource.class})
     public void testFindVmOnDatacenter() throws Exception {
         when(hyperHost.getHyperHostDatacenter()).thenReturn(mor);
-        when(datacenter.getMor()).thenReturn(mor);
-        when(datacenter.findVm(VOLUME_PATH)).thenReturn(vmMo);
-        whenNew(DatacenterMO.class).withArguments(context, 
mor).thenReturn(datacenter);
-        VirtualMachineMO result = _resource.findVmOnDatacenter(context, 
hyperHost, volume);
-        assertEquals(vmMo, result);
+        try (MockedConstruction<DatacenterMO> ignored = 
Mockito.mockConstruction(DatacenterMO.class, (mock, context) -> {
+            when(mock.findVm(VOLUME_PATH)).thenReturn(vmMo);
+            when(mock.getMor()).thenReturn(mor);
+        })) {
+            VirtualMachineMO result = _resource.findVmOnDatacenter(context, 
hyperHost, volume);
+            assertEquals(vmMo, result);
+        }
     }
 
     @Test
diff --git 
a/plugins/hypervisors/vmware/src/test/java/org/apache/cloudstack/storage/motion/VmwareStorageMotionStrategyTest.java
 
b/plugins/hypervisors/vmware/src/test/java/org/apache/cloudstack/storage/motion/VmwareStorageMotionStrategyTest.java
index fa1137fb13b..35a8ffa3917 100644
--- 
a/plugins/hypervisors/vmware/src/test/java/org/apache/cloudstack/storage/motion/VmwareStorageMotionStrategyTest.java
+++ 
b/plugins/hypervisors/vmware/src/test/java/org/apache/cloudstack/storage/motion/VmwareStorageMotionStrategyTest.java
@@ -18,8 +18,8 @@ package org.apache.cloudstack.storage.motion;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.isA;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
diff --git 
a/plugins/hypervisors/vmware/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
 
b/plugins/hypervisors/vmware/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
new file mode 100644
index 00000000000..1f0955d450f
--- /dev/null
+++ 
b/plugins/hypervisors/vmware/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
@@ -0,0 +1 @@
+mock-maker-inline
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/DatastoreMOTest.java 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/DatastoreMOTest.java
index cf1697992f0..6e1793a6796 100644
--- 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/DatastoreMOTest.java
+++ 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/DatastoreMOTest.java
@@ -22,28 +22,24 @@ import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.vmware.vim25.FileInfo;
 import com.vmware.vim25.HostDatastoreBrowserSearchResults;
 import com.vmware.vim25.ManagedObjectReference;
-import com.vmware.vim25.VimPortType;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.MockedConstruction;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.util.ArrayList;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
-/**
- * Created by sudharma_jain on 6/13/17.
- */
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(DatastoreMO.class)
+
+@RunWith(MockitoJUnitRunner.class)
 public class DatastoreMOTest {
     @Mock
     VmwareContext _context ;
@@ -51,22 +47,20 @@ public class DatastoreMOTest {
     VmwareClient _client;
     @Mock
     ManagedObjectReference _mor;
-    @Mock
-    HostDatastoreBrowserMO browserMo;
-    @Mock
-    VimPortType vimPortType;
 
     DatastoreMO datastoreMO ;
     String fileName = "ROOT-5.vmdk";
 
+    MockedConstruction<HostDatastoreBrowserMO> 
hostDataStoreBrowserMoConstruction;
+
 
     @Before
     public void setUp() throws Exception {
 
         datastoreMO = new DatastoreMO(_context, _mor);
-        
PowerMockito.whenNew(HostDatastoreBrowserMO.class).withAnyArguments().thenReturn(browserMo);
         when(_context.getVimClient()).thenReturn(_client);
-        when(_client.getDynamicProperty(any(ManagedObjectReference.class), 
eq("name"))).thenReturn("252d36c96cfb32f48ce7756ccb79ae37");
+        when(_client.getDynamicProperty(any(ManagedObjectReference.class), 
eq("name"))).thenReturn(
+                "252d36c96cfb32f48ce7756ccb79ae37");
 
         ArrayList<HostDatastoreBrowserSearchResults> results = new 
ArrayList<>();
 
@@ -92,23 +86,28 @@ public class DatastoreMOTest {
         results.add(r2);
         results.add(r3);
 
-        when(browserMo.searchDatastore(any(String.class), any(String.class), 
eq(true))).thenReturn(null);
-        
when(browserMo.searchDatastoreSubFolders(any(String.class),any(String.class), 
any(Boolean.class) )).thenReturn(results);
+        hostDataStoreBrowserMoConstruction = 
Mockito.mockConstruction(HostDatastoreBrowserMO.class, (mock, context) -> {
+            when(mock.searchDatastore(any(String.class), any(String.class), 
eq(true))).thenReturn(null);
+            
when(mock.searchDatastoreSubFolders(any(String.class),any(String.class), 
any(Boolean.class) )).thenReturn(results);
+        });
     }
 
     @After
     public void tearDown() throws Exception {
-
+        hostDataStoreBrowserMoConstruction.close();
     }
 
     @Test
     public void testSearchFileInSubFolders() throws Exception {
-        assertEquals("Unexpected Behavior: search should exclude .snapshot 
folder", "[252d36c96cfb32f48ce7756ccb79ae37] i-2-5-VM/ROOT-5.vmdk", 
datastoreMO.searchFileInSubFolders(fileName, false, ".snapshot") );
+        assertEquals("Unexpected Behavior: search should exclude .snapshot 
folder",
+                "[252d36c96cfb32f48ce7756ccb79ae37] i-2-5-VM/ROOT-5.vmdk",
+                datastoreMO.searchFileInSubFolders(fileName, false, 
".snapshot"));
     }
 
     @Test
     public void testSearchFileInSubFoldersWithExcludeMultipleFolders() throws 
Exception {
-        assertEquals("Unexpected Behavior: search should exclude folders", 
datastoreMO.searchFileInSubFolders(fileName, false, "i-2-5-VM, 
.snapshot/hourly.2017-02-23_1705"), "[252d36c96cfb32f48ce7756ccb79ae37] 
.snapshot/hourly.2017-02-23_1605/i-2-5-VM/ROOT-5.vmdk" );
+        assertEquals("Unexpected Behavior: search should exclude folders",
+                "[252d36c96cfb32f48ce7756ccb79ae37] 
.snapshot/hourly.2017-02-23_1605/i-2-5-VM/ROOT-5.vmdk",
+                datastoreMO.searchFileInSubFolders(fileName, false, "i-2-5-VM, 
.snapshot/hourly.2017-02-23_1705"));
     }
-
 }
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HostMOTest.java 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HostMOTest.java
index 74cd1425d73..5314f8f4f46 100644
--- a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HostMOTest.java
+++ b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HostMOTest.java
@@ -21,19 +21,16 @@ import com.cloud.hypervisor.vmware.util.VmwareClient;
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.vmware.vim25.GuestOsDescriptor;
 import com.vmware.vim25.ManagedObjectReference;
-import com.vmware.vim25.VimPortType;
-import com.vmware.vim25.VirtualMachineConfigOption;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.MockedConstruction;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -42,8 +39,7 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(HostMO.class)
+@RunWith(MockitoJUnitRunner.class)
 public class HostMOTest {
 
     @Mock
@@ -55,18 +51,17 @@ public class HostMOTest {
     @Mock
     ManagedObjectReference _environmentBrowser;
 
-    @Mock
-    VirtualMachineConfigOption vmConfigOption;
-
     @Mock
     GuestOsDescriptor guestOsDescriptor;
 
     HostMO hostMO ;
     ClusterMO clusterMO ;
 
+    AutoCloseable closeable;
+
     @Before
     public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
         hostMO = new HostMO(_context, _mor);
         clusterMO = new ClusterMO(_context, _mor);
         clusterMO._environmentBrowser = _environmentBrowser;
@@ -77,37 +72,26 @@ public class HostMOTest {
 
     @After
     public void tearDown() throws Exception {
-
+        closeable.close();
     }
 
     @Test
     public void testGetGuestOsDescriptors() throws Exception {
-        VimPortType vimPortType = PowerMockito.mock(VimPortType.class);
-        Mockito.when(_context.getService()).thenReturn(vimPortType);
-        Mockito.when(vimPortType.queryConfigOption(_environmentBrowser, null, 
null)).thenReturn(vmConfigOption);
-        PowerMockito.whenNew(ClusterMO.class).withArguments(_context, 
_mor).thenReturn(clusterMO);
-
         List<GuestOsDescriptor> guestOsDescriptors = new ArrayList<>();
         guestOsDescriptors.add(guestOsDescriptor);
-        
Mockito.when(clusterMO.getGuestOsDescriptors()).thenReturn(guestOsDescriptors);
-        List<GuestOsDescriptor> result = hostMO.getGuestOsDescriptors();
-
-        Assert.assertEquals(guestOsDescriptor, result.get(0));
+        try (MockedConstruction<ClusterMO> ignored = 
Mockito.mockConstruction(ClusterMO.class,
+                (mock, context) -> 
when(mock.getGuestOsDescriptors()).thenReturn(guestOsDescriptors))) {
+            List<GuestOsDescriptor> result = hostMO.getGuestOsDescriptors();
+            Assert.assertEquals(guestOsDescriptor, result.get(0));
+        }
     }
 
     @Test
     public void testGetGuestOsDescriptor() throws Exception {
-        VimPortType vimPortType = PowerMockito.mock(VimPortType.class);
-        Mockito.when(_context.getService()).thenReturn(vimPortType);
-        Mockito.when(vimPortType.queryConfigOption(_environmentBrowser, null, 
null)).thenReturn(vmConfigOption);
-        PowerMockito.whenNew(ClusterMO.class).withArguments(_context, 
_mor).thenReturn(clusterMO);
-
-        Mockito.when(guestOsDescriptor.getId()).thenReturn("1");
-        List<GuestOsDescriptor> guestOsDescriptors = new ArrayList<>();
-        guestOsDescriptors.add(guestOsDescriptor);
-        
Mockito.when(vmConfigOption.getGuestOSDescriptor()).thenReturn(guestOsDescriptors);
-        GuestOsDescriptor result = hostMO.getGuestOsDescriptor("1");
-
-        Assert.assertEquals(guestOsDescriptor, result);
+        try (MockedConstruction<ClusterMO> ignored = 
Mockito.mockConstruction(ClusterMO.class,
+                (mock, context) -> 
when(mock.getGuestOsDescriptor(any(String.class))).thenReturn(guestOsDescriptor)))
 {
+            GuestOsDescriptor result = hostMO.getGuestOsDescriptor("1");
+            Assert.assertEquals(guestOsDescriptor, result);
+        }
     }
 }
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelperTest.java
 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelperTest.java
index ff4169df239..1c888a05748 100644
--- 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelperTest.java
+++ 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/HypervisorHostHelperTest.java
@@ -20,10 +20,10 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import java.util.HashMap;
@@ -85,9 +85,11 @@ public class HypervisorHostHelperTest {
     String prefix;
     String svlanId = null;
 
+    AutoCloseable closeable;
+
     @Before
     public void setup() throws Exception {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
         when(context.getServiceContent()).thenReturn(serviceContent);
         when(serviceContent.getAbout()).thenReturn(aboutInfo);
         when(clusterMO.getClusterConfigInfo()).thenReturn(clusterConfigInfo);
@@ -102,12 +104,9 @@ public class HypervisorHostHelperTest {
     public static void tearDownAfterClass() throws Exception {
     }
 
-    @Before
-    public void setUp() throws Exception {
-    }
-
     @After
     public void tearDown() throws Exception {
+        closeable.close();
     }
 
     @Test
@@ -129,8 +128,8 @@ public class HypervisorHostHelperTest {
     @Test
     public void testGetVcenterApiVersionWithNullContextObject() throws 
Exception {
         assertNull(HypervisorHostHelper.getVcenterApiVersion(null));
-        verifyZeroInteractions(aboutInfo);
-        verifyZeroInteractions(serviceContent);
+        verifyNoInteractions(aboutInfo);
+        verifyNoInteractions(serviceContent);
     }
 
     @Test
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMOTest.java
 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMOTest.java
index 7d07a9026ac..570f2a7b4a1 100644
--- 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMOTest.java
+++ 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMOTest.java
@@ -35,13 +35,13 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -56,12 +56,14 @@ public class VirtualMachineMOTest {
 
     VirtualMachineMO vmMo;
 
+    AutoCloseable closeable;
+
     private List<VirtualDevice> getVirtualScSiDeviceList(Class<?> cls) {
 
         List<VirtualDevice> deviceList = new ArrayList<>();
         try {
 
-            VirtualSCSIController scsiController = 
(VirtualSCSIController)cls.newInstance();
+            VirtualSCSIController scsiController = 
(VirtualSCSIController)cls.getDeclaredConstructor().newInstance();
             scsiController.setSharedBus(VirtualSCSISharing.NO_SHARING);
             scsiController.setBusNumber(0);
             scsiController.setKey(1);
@@ -76,7 +78,7 @@ public class VirtualMachineMOTest {
 
     @Before
     public void setup() {
-        MockitoAnnotations.initMocks(this);
+        closeable = MockitoAnnotations.openMocks(this);
         vmMo = new VirtualMachineMO(context, mor);
         when(context.getVimClient()).thenReturn(client);
     }
@@ -89,12 +91,9 @@ public class VirtualMachineMOTest {
     public static void tearDownAfterClass() throws Exception {
     }
 
-    @Before
-    public void setUp() throws Exception {
-    }
-
     @After
     public void tearDown() throws Exception {
+        closeable.close();
     }
 
     @Test
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareContextTest.java
 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareContextTest.java
index 732d45cf2c3..6e48806fe50 100644
--- 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareContextTest.java
+++ 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareContextTest.java
@@ -26,7 +26,7 @@ import java.net.HttpURLConnection;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class VmwareContextTest {
@@ -42,6 +42,9 @@ public class VmwareContextTest {
         
Mockito.doReturn(conn).when(vmwareContext).getHTTPConnection("http://example.com";,
 "PUT");
         //This method should not throw any exception. Ref: CLOUDSTACK-8669
         vmwareContext.uploadResourceContent("http://example.com";, 
"content".getBytes());
+        Mockito.verify(vmwareContext, 
Mockito.times(1)).getHTTPConnection("http://example.com";, "PUT");
+        Mockito.verify(conn, Mockito.times(1)).getOutputStream();
+        Mockito.verify(conn, Mockito.times(1)).getInputStream();
     }
 
 }
diff --git 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareHelperTest.java
 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareHelperTest.java
index 4417748efbf..1376fdd0ab9 100644
--- 
a/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareHelperTest.java
+++ 
b/vmware-base/src/test/java/com/cloud/hypervisor/vmware/util/VmwareHelperTest.java
@@ -18,6 +18,7 @@
 package com.cloud.hypervisor.vmware.util;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -37,7 +38,7 @@ public class VmwareHelperTest {
     public void prepareDiskDeviceTestNotLimitingIOPS() throws Exception {
         
Mockito.when(virtualMachineMO.getIDEDeviceControllerKey()).thenReturn(1);
         VirtualDisk virtualDisk = (VirtualDisk) 
VmwareHelper.prepareDiskDevice(virtualMachineMO, null, -1, new String[1], null, 
0, 0, null);
-        assertEquals(null, virtualDisk.getStorageIOAllocation());
+        assertNull(virtualDisk.getStorageIOAllocation());
     }
 
     @Test
@@ -51,6 +52,6 @@ public class VmwareHelperTest {
     public void prepareDiskDeviceTestLimitingIOPSToZero() throws Exception {
         
Mockito.when(virtualMachineMO.getIDEDeviceControllerKey()).thenReturn(1);
         VirtualDisk virtualDisk = (VirtualDisk) 
VmwareHelper.prepareDiskDevice(virtualMachineMO, null, -1, new String[1], null, 
0, 0, Long.valueOf(0));
-        assertEquals(null, virtualDisk.getStorageIOAllocation());
+        assertNull(virtualDisk.getStorageIOAllocation());
     }
 }
diff --git 
a/vmware-base/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
 
b/vmware-base/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
new file mode 100644
index 00000000000..1f0955d450f
--- /dev/null
+++ 
b/vmware-base/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
@@ -0,0 +1 @@
+mock-maker-inline


Reply via email to