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