Skip to content

Commit 84974a1

Browse files
authored
Remove powermock from vmware-base & vmware hypervisor plugin (#7798)
1 parent 90443cd commit 84974a1

14 files changed

Lines changed: 131 additions & 135 deletions

File tree

plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VMwareGuruTest.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
2727
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
28+
import org.junit.After;
2829
import org.junit.Assert;
2930
import org.junit.Before;
3031
import org.junit.Test;
@@ -34,8 +35,7 @@
3435
import org.mockito.Mockito;
3536
import org.mockito.MockitoAnnotations;
3637
import org.mockito.Spy;
37-
import org.powermock.core.classloader.annotations.PrepareForTest;
38-
import org.powermock.modules.junit4.PowerMockRunner;
38+
import org.mockito.junit.MockitoJUnitRunner;
3939
import org.springframework.test.context.ContextConfiguration;
4040
import org.springframework.test.context.support.AnnotationConfigContextLoader;
4141

@@ -54,8 +54,7 @@
5454
import com.cloud.vm.VirtualMachine;
5555
import com.cloud.vm.VirtualMachineManager;
5656

57-
@RunWith(PowerMockRunner.class)
58-
@PrepareForTest({VMwareGuru.class})
57+
@RunWith(MockitoJUnitRunner.class)
5958
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
6059
public class VMwareGuruTest {
6160

@@ -78,9 +77,16 @@ public class VMwareGuruTest {
7877
@Mock
7978
ClusterDetailsDao _clusterDetailsDao;
8079

80+
AutoCloseable closeable;
81+
8182
@Before
8283
public void testSetUp() throws Exception {
83-
MockitoAnnotations.initMocks(this);
84+
closeable = MockitoAnnotations.openMocks(this);
85+
}
86+
87+
@After
88+
public void tearDown() throws Exception {
89+
closeable.close();
8490
}
8591

8692
@Test
@@ -99,7 +105,6 @@ public void finalizeMigrateForLocalStorageToHaveTargetHostGuid(){
99105
HostVO hostVO = Mockito.mock(HostVO.class);
100106

101107
Mockito.when(localStorage.getId()).thenReturn(1L);
102-
Mockito.when(vm.getId()).thenReturn(1L);
103108
Mockito.when(_storagePoolDao.findById(1L)).thenReturn(storagePoolVO);
104109
Mockito.when(rootVolume.getVolumeType()).thenReturn(Volume.Type.ROOT);
105110
Mockito.when(dataVolume.getVolumeType()).thenReturn(Volume.Type.DATADISK);

plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/guru/VmwareVmImplementerTest.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.util.HashMap;
2424
import java.util.Map;
2525

26-
import org.apache.cloudstack.framework.config.ConfigKey;
26+
import org.junit.After;
2727
import org.junit.Before;
2828
import org.junit.Test;
2929
import org.junit.runner.RunWith;
@@ -32,16 +32,14 @@
3232
import org.mockito.Mockito;
3333
import org.mockito.MockitoAnnotations;
3434
import org.mockito.Spy;
35-
import org.powermock.core.classloader.annotations.PrepareForTest;
36-
import org.powermock.modules.junit4.PowerMockRunner;
35+
import org.mockito.junit.MockitoJUnitRunner;
3736
import org.springframework.test.context.ContextConfiguration;
3837
import org.springframework.test.context.support.AnnotationConfigContextLoader;
3938

4039
import com.cloud.agent.api.to.VirtualMachineTO;
4140
import com.cloud.vm.VmDetailConstants;
4241

43-
@RunWith(PowerMockRunner.class)
44-
@PrepareForTest({ConfigKey.class, VmwareVmImplementer.class})
42+
@RunWith(MockitoJUnitRunner.class)
4543
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
4644
public class VmwareVmImplementerTest {
4745

@@ -54,9 +52,16 @@ public class VmwareVmImplementerTest {
5452

5553
private Map<String,String> vmDetails = new HashMap<String, String>();
5654

55+
AutoCloseable closeable;
56+
5757
@Before
5858
public void testSetUp() throws Exception {
59-
MockitoAnnotations.initMocks(this);
59+
closeable = MockitoAnnotations.openMocks(this);
60+
}
61+
62+
@After
63+
public void tearDown() throws Exception {
64+
closeable.close();
6065
}
6166

6267
private void setConfigValues(Boolean globalNV, Boolean globalNVPVM, String localNV){

plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,9 @@
8080
import org.junit.Before;
8181
import org.junit.Test;
8282
import org.junit.runner.RunWith;
83-
import org.mockito.Matchers;
8483
import org.mockito.Mock;
8584
import org.mockito.Mockito;
8685
import org.mockito.MockitoAnnotations;
87-
import org.powermock.core.classloader.annotations.PrepareForTest;
88-
import org.springframework.context.ApplicationContext;
8986
import org.springframework.context.annotation.Bean;
9087
import org.springframework.context.annotation.ComponentScan;
9188
import org.springframework.context.annotation.ComponentScan.Filter;
@@ -104,11 +101,11 @@
104101
import java.util.List;
105102
import java.util.UUID;
106103

104+
import static org.mockito.ArgumentMatchers.any;
107105
import static org.mockito.Mockito.when;
108106

109107
@RunWith(SpringJUnit4ClassRunner.class)
110108
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
111-
@PrepareForTest({ComponentContext.class, ApplicationContext.class})
112109
public class VmwareDatacenterApiUnitTest {
113110

114111
@Inject
@@ -166,11 +163,13 @@ public class VmwareDatacenterApiUnitTest {
166163
@Mock
167164
private static RemoveVmwareDcCmd removeCmd;
168165

166+
AutoCloseable closeable;
167+
169168
@Before
170169
public void testSetUp() {
171170
Mockito.when(_configDao.isPremium()).thenReturn(true);
172171
ComponentContext.initComponentsLifeCycle();
173-
MockitoAnnotations.initMocks(this);
172+
closeable = MockitoAnnotations.openMocks(this);
174173

175174
DataCenterVO zone =
176175
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 void testSetUp() {
208207

209208
dcZoneMap = new VmwareDatacenterZoneMapVO(zoneId, vmwareDcId);
210209

211-
Mockito.when(_dcDao.persist(Matchers.any(DataCenterVO.class))).thenReturn(zone);
210+
Mockito.when(_dcDao.persist(any(DataCenterVO.class))).thenReturn(zone);
212211
Mockito.when(_dcDao.findById(1L)).thenReturn(zone);
213-
Mockito.when(_podDao.persist(Matchers.any(HostPodVO.class))).thenReturn(pod);
212+
Mockito.when(_podDao.persist(any(HostPodVO.class))).thenReturn(pod);
214213
Mockito.when(_podDao.findById(1L)).thenReturn(pod);
215-
Mockito.when(_clusterDao.persist(Matchers.any(ClusterVO.class))).thenReturn(cluster);
214+
Mockito.when(_clusterDao.persist(any(ClusterVO.class))).thenReturn(cluster);
216215
Mockito.when(_clusterDao.findById(1L)).thenReturn(cluster);
217216
Mockito.when(_clusterDao.listByZoneId(1L)).thenReturn(null);
218217
Mockito.when(_clusterDao.expunge(1L)).thenReturn(true);
219-
Mockito.when(_clusterDetailsDao.persist(Matchers.any(ClusterDetailsVO.class))).thenReturn(clusterDetails);
218+
Mockito.when(_clusterDetailsDao.persist(any(ClusterDetailsVO.class))).thenReturn(clusterDetails);
220219
Mockito.when(_clusterDetailsDao.expunge(1L)).thenReturn(true);
221-
Mockito.when(_vmwareDcDao.persist(Matchers.any(VmwareDatacenterVO.class))).thenReturn(dc);
220+
Mockito.when(_vmwareDcDao.persist(any(VmwareDatacenterVO.class))).thenReturn(dc);
222221
Mockito.when(_vmwareDcDao.findById(1L)).thenReturn(null);
223222
Mockito.when(_vmwareDcDao.expunge(1L)).thenReturn(true);
224223
Mockito.when(_vmwareDcDao.getVmwareDatacenterByNameAndVcenter(vmwareDcName, vCenterHost)).thenReturn(null);
225-
Mockito.when(_vmwareDcZoneMapDao.persist(Matchers.any(VmwareDatacenterZoneMapVO.class))).thenReturn(dcZoneMap);
224+
Mockito.when(_vmwareDcZoneMapDao.persist(any(VmwareDatacenterZoneMapVO.class))).thenReturn(dcZoneMap);
226225
Mockito.when(_vmwareDcZoneMapDao.findByZoneId(1L)).thenReturn(null);
227226
Mockito.when(_vmwareDcZoneMapDao.expunge(1L)).thenReturn(true);
228227
Mockito.when(addCmd.getZoneId()).thenReturn(1L);
@@ -234,8 +233,9 @@ public void testSetUp() {
234233
}
235234

236235
@After
237-
public void tearDown() {
236+
public void tearDown() throws Exception {
238237
CallContext.unregister();
238+
closeable.close();
239239
}
240240

241241
//@Test(expected = InvalidParameterValueException.class)

plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImplTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.mockito.Mock;
3030
import org.mockito.Mockito;
3131
import org.mockito.Spy;
32-
import org.mockito.runners.MockitoJUnitRunner;
32+
import org.mockito.junit.MockitoJUnitRunner;
3333

3434
import com.cloud.dc.ClusterDetailsDao;
3535
import com.cloud.dc.ClusterVO;
@@ -112,8 +112,8 @@ public void updateVmwareDatacenterNormalUpdate() {
112112
Assert.assertEquals(vmwareDatacenter.getUser(), updateVmwareDcCmd.getUsername());
113113
Assert.assertEquals(vmwareDatacenter.getPassword(), updateVmwareDcCmd.getPassword());
114114
Mockito.verify(clusterDetails, Mockito.times(2)).put(Mockito.anyString(), Mockito.anyString());
115-
Mockito.verify(clusterDetailsDao, Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMapOf(String.class, String.class));
115+
Mockito.verify(clusterDetailsDao, Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMap());
116116
Mockito.verify(hostDetails, Mockito.times(3)).put(Mockito.anyString(), Mockito.anyString());
117-
Mockito.verify(hostDetailsDao, Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMapOf(String.class, String.class));
117+
Mockito.verify(hostDetailsDao, Mockito.times(1)).persist(Mockito.anyLong(), Mockito.anyMap());
118118
}
119119
}

plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,13 @@
1919
import static org.junit.Assert.assertEquals;
2020
import static org.junit.Assert.assertFalse;
2121
import static org.junit.Assert.assertTrue;
22-
import static org.mockito.Matchers.eq;
22+
import static org.mockito.ArgumentMatchers.eq;
2323
import static org.mockito.Mockito.any;
2424
import static org.mockito.Mockito.doReturn;
2525
import static org.mockito.Mockito.never;
2626
import static org.mockito.Mockito.times;
2727
import static org.mockito.Mockito.verify;
2828
import static org.mockito.Mockito.when;
29-
import static org.powermock.api.mockito.PowerMockito.whenNew;
3029

3130
import java.util.ArrayList;
3231
import java.util.Arrays;
@@ -37,19 +36,18 @@
3736

3837
import org.apache.cloudstack.storage.command.CopyCommand;
3938
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;
39+
import org.junit.After;
4040
import org.junit.Before;
4141
import org.junit.Test;
4242
import org.junit.runner.RunWith;
4343
import org.mockito.InOrder;
4444
import org.mockito.InjectMocks;
45-
import org.mockito.Matchers;
4645
import org.mockito.Mock;
46+
import org.mockito.MockedConstruction;
4747
import org.mockito.Mockito;
4848
import org.mockito.MockitoAnnotations;
4949
import org.mockito.Spy;
50-
import org.powermock.api.mockito.PowerMockito;
51-
import org.powermock.core.classloader.annotations.PrepareForTest;
52-
import org.powermock.modules.junit4.PowerMockRunner;
50+
import org.mockito.junit.MockitoJUnitRunner;
5351

5452
import com.cloud.agent.api.Answer;
5553
import com.cloud.agent.api.Command;
@@ -92,8 +90,7 @@
9290
import com.vmware.vim25.VirtualMachineConfigSpec;
9391
import com.vmware.vim25.VirtualMachineVideoCard;
9492

95-
@RunWith(PowerMockRunner.class)
96-
@PrepareForTest({CopyCommand.class})
93+
@RunWith(MockitoJUnitRunner.class)
9794
public class VmwareResourceTest {
9895

9996
private static final String VOLUME_PATH = "XXXXXXXXXXXX";
@@ -187,10 +184,12 @@ public VmwareHypervisorHost getHyperHost(VmwareContext context, Command cmd) {
187184

188185
private Map<String,String> specsArray = new HashMap<String,String>();
189186

187+
AutoCloseable closeable;
188+
190189
@Before
191190
public void setup() throws Exception {
192-
MockitoAnnotations.initMocks(this);
193-
storageCmd = PowerMockito.mock(CopyCommand.class);
191+
closeable = MockitoAnnotations.openMocks(this);
192+
storageCmd = Mockito.mock(CopyCommand.class);
194193
doReturn(context).when(_resource).getServiceContext(null);
195194
when(cmd.getVirtualMachine()).thenReturn(vmSpec);
196195

@@ -218,19 +217,17 @@ public void setup() throws Exception {
218217
when(hostCapability.isNestedHVSupported()).thenReturn(true);
219218
}
220219

220+
@After
221+
public void tearDown() throws Exception {
222+
closeable.close();
223+
}
224+
221225
//Test successful scaling up the vm
222226
@Test
223227
public void testScaleVMF1() throws Exception {
224228
when(_resource.getHyperHost(context, null)).thenReturn(hyperHost);
225229
doReturn("i-2-3-VM").when(cmd).getVmName();
226230
when(hyperHost.findVmOnHyperHost("i-2-3-VM")).thenReturn(vmMo);
227-
doReturn(536870912L).when(vmSpec).getMinRam();
228-
doReturn(1).when(vmSpec).getCpus();
229-
doReturn(1000).when(vmSpec).getMinSpeed();
230-
doReturn(1000).when(vmSpec).getMaxSpeed();
231-
doReturn(536870912L).when(vmSpec).getMaxRam();
232-
doReturn(false).when(vmSpec).getLimitCpuUse();
233-
when(vmMo.configureVm(vmConfigSpec)).thenReturn(true);
234231

235232
_resource.execute(cmd);
236233
verify(_resource).execute(cmd);
@@ -251,7 +248,7 @@ public void testGenerateMacSequence() {
251248
final NicTO[] nics = new NicTO[] {nicTo1, nicTo2};
252249

253250
String macSequence = _resource.generateMacSequence(nics);
254-
assertEquals(macSequence, "02:00:65:b5:00:03|01:23:45:67:89:AB");
251+
assertEquals("02:00:65:b5:00:03|01:23:45:67:89:AB", macSequence);
255252
}
256253

257254
@Test
@@ -404,8 +401,8 @@ public void testExamineStorageSubSystemCommandFullCloneFlagForVmwareNull(){
404401
@Test
405402
public void checkStorageProcessorAndHandlerNfsVersionAttributeVersionNotSet(){
406403
_resource.checkStorageProcessorAndHandlerNfsVersionAttribute(storageCmd);
407-
verify(_resource).examineStorageSubSystemCommandNfsVersion(Matchers.eq(storageCmd), any(EnumMap.class));
408-
verify(_resource).examineStorageSubSystemCommandFullCloneFlagForVmware(Matchers.eq(storageCmd), any(EnumMap.class));
404+
verify(_resource).examineStorageSubSystemCommandNfsVersion(eq(storageCmd), any(EnumMap.class));
405+
verify(_resource).examineStorageSubSystemCommandFullCloneFlagForVmware(eq(storageCmd), any(EnumMap.class));
409406
verify(_resource).reconfigureProcessorByHandler(any(EnumMap.class));
410407
assertEquals(NFS_VERSION, _resource.storageNfsVersion);
411408
}
@@ -415,24 +412,26 @@ public void checkStorageProcessorAndHandlerNfsVersionAttributeVersionNotSet(){
415412
public void checkStorageProcessorAndHandlerNfsVersionAttributeVersionSet(){
416413
_resource.storageNfsVersion = NFS_VERSION;
417414
_resource.checkStorageProcessorAndHandlerNfsVersionAttribute(storageCmd);
418-
verify(_resource, never()).examineStorageSubSystemCommandNfsVersion(Matchers.eq(storageCmd), any(EnumMap.class));
415+
verify(_resource, never()).examineStorageSubSystemCommandNfsVersion(eq(storageCmd), any(EnumMap.class));
419416
}
420417

421-
@Test(expected= CloudRuntimeException.class)
418+
@Test(expected=CloudRuntimeException.class)
422419
public void testFindVmOnDatacenterNullHyperHostReference() throws Exception {
423-
when(hyperHost.getMor()).thenReturn(null);
424-
_resource.findVmOnDatacenter(context, hyperHost, volume);
420+
try (MockedConstruction<DatacenterMO> ignored = Mockito.mockConstruction(DatacenterMO.class)) {
421+
_resource.findVmOnDatacenter(context, hyperHost, volume);
422+
}
425423
}
426424

427425
@Test
428-
@PrepareForTest({DatacenterMO.class, VmwareResource.class})
429426
public void testFindVmOnDatacenter() throws Exception {
430427
when(hyperHost.getHyperHostDatacenter()).thenReturn(mor);
431-
when(datacenter.getMor()).thenReturn(mor);
432-
when(datacenter.findVm(VOLUME_PATH)).thenReturn(vmMo);
433-
whenNew(DatacenterMO.class).withArguments(context, mor).thenReturn(datacenter);
434-
VirtualMachineMO result = _resource.findVmOnDatacenter(context, hyperHost, volume);
435-
assertEquals(vmMo, result);
428+
try (MockedConstruction<DatacenterMO> ignored = Mockito.mockConstruction(DatacenterMO.class, (mock, context) -> {
429+
when(mock.findVm(VOLUME_PATH)).thenReturn(vmMo);
430+
when(mock.getMor()).thenReturn(mor);
431+
})) {
432+
VirtualMachineMO result = _resource.findVmOnDatacenter(context, hyperHost, volume);
433+
assertEquals(vmMo, result);
434+
}
436435
}
437436

438437
@Test

plugins/hypervisors/vmware/src/test/java/org/apache/cloudstack/storage/motion/VmwareStorageMotionStrategyTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
import static org.junit.Assert.assertFalse;
2020
import static org.junit.Assert.assertTrue;
21-
import static org.mockito.Matchers.anyLong;
22-
import static org.mockito.Matchers.isA;
21+
import static org.mockito.ArgumentMatchers.anyLong;
22+
import static org.mockito.ArgumentMatchers.isA;
2323
import static org.mockito.Mockito.mock;
2424
import static org.mockito.Mockito.when;
2525

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mock-maker-inline

0 commit comments

Comments
 (0)