From fe70f4d801c39776d5e1dbd262247cd159b2cb04 Mon Sep 17 00:00:00 2001 From: Vishesh Date: Wed, 16 Aug 2023 12:35:18 +0530 Subject: [PATCH] Remove powermock from services (#7860) --- ...onStrictHostAntiAffinityProcessorTest.java | 4 +- .../src/test/java/common/ClientTest.java | 8 ++-- .../org.mockito.plugins.MockMaker | 1 + .../ConsoleProxyHttpHandlerHelperTest.java | 33 ++++++------- .../org.mockito.plugins.MockMaker | 1 + .../NfsSecondaryStorageResourceTest.java | 46 +++++++++---------- .../org.mockito.plugins.MockMaker | 1 + 7 files changed, 45 insertions(+), 49 deletions(-) create mode 100644 services/console-proxy/rdpconsole/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker create mode 100644 services/console-proxy/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker create mode 100644 services/secondary-storage/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/plugins/affinity-group-processors/non-strict-host-anti-affinity/src/test/java/org/apache/cloudstack/affinity/NonStrictHostAntiAffinityProcessorTest.java b/plugins/affinity-group-processors/non-strict-host-anti-affinity/src/test/java/org/apache/cloudstack/affinity/NonStrictHostAntiAffinityProcessorTest.java index 5ea423b374b..7239594fe2c 100644 --- a/plugins/affinity-group-processors/non-strict-host-anti-affinity/src/test/java/org/apache/cloudstack/affinity/NonStrictHostAntiAffinityProcessorTest.java +++ b/plugins/affinity-group-processors/non-strict-host-anti-affinity/src/test/java/org/apache/cloudstack/affinity/NonStrictHostAntiAffinityProcessorTest.java @@ -35,7 +35,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.Spy; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.springframework.test.util.ReflectionTestUtils; import java.util.ArrayList; @@ -47,7 +47,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.when; -@RunWith(PowerMockRunner.class) +@RunWith(MockitoJUnitRunner.class) public class NonStrictHostAntiAffinityProcessorTest { @Spy diff --git a/services/console-proxy/rdpconsole/src/test/java/common/ClientTest.java b/services/console-proxy/rdpconsole/src/test/java/common/ClientTest.java index 3f5aa909db0..a54b52e78e1 100644 --- a/services/console-proxy/rdpconsole/src/test/java/common/ClientTest.java +++ b/services/console-proxy/rdpconsole/src/test/java/common/ClientTest.java @@ -21,20 +21,20 @@ import static org.mockito.Mockito.when; import org.junit.Test; import org.junit.runner.RunWith; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.test.util.ReflectionTestUtils; import streamer.Element; import streamer.SocketWrapper; -@RunWith(PowerMockRunner.class) +@RunWith(MockitoJUnitRunner.class) public class ClientTest { @Test(expected = NullPointerException.class) public void testAssemblePipelineWhenMainElementIsNull() throws Exception { SocketWrapper socketMock = mock(SocketWrapper.class); when(socketMock.getId()).thenReturn("socket"); - Whitebox.setInternalState(Client.class, "socket", socketMock); + ReflectionTestUtils.setField(Client.class, "socket", socketMock); Element main = null; Client.assemblePipeline(main); diff --git a/services/console-proxy/rdpconsole/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/services/console-proxy/rdpconsole/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker new file mode 100644 index 00000000000..1f0955d450f --- /dev/null +++ b/services/console-proxy/rdpconsole/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker @@ -0,0 +1 @@ +mock-maker-inline diff --git a/services/console-proxy/server/src/test/java/com/cloud/consoleproxy/ConsoleProxyHttpHandlerHelperTest.java b/services/console-proxy/server/src/test/java/com/cloud/consoleproxy/ConsoleProxyHttpHandlerHelperTest.java index 690b0c19a9e..53389ba36b2 100644 --- a/services/console-proxy/server/src/test/java/com/cloud/consoleproxy/ConsoleProxyHttpHandlerHelperTest.java +++ b/services/console-proxy/server/src/test/java/com/cloud/consoleproxy/ConsoleProxyHttpHandlerHelperTest.java @@ -19,33 +19,30 @@ package com.cloud.consoleproxy; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mock; +import org.mockito.MockedConstruction; +import org.mockito.MockedStatic; import org.mockito.Mockito; -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.Map; -@RunWith(PowerMockRunner.class) +@RunWith(MockitoJUnitRunner.class) public class ConsoleProxyHttpHandlerHelperTest { - @Mock - ConsoleProxyPasswordBasedEncryptor encryptor; - @Test - @PrepareForTest({ConsoleProxy.class, ConsoleProxyHttpHandlerHelper.class}) public void testQueryMapExtraParameter() throws Exception { - PowerMockito.mockStatic(ConsoleProxy.class); - PowerMockito.when(ConsoleProxy.getEncryptorPassword()).thenReturn("password"); - PowerMockito.whenNew(ConsoleProxyPasswordBasedEncryptor.class).withArguments(Mockito.anyString()).thenReturn(encryptor); - Mockito.when(encryptor.decryptObject(Mockito.eq(ConsoleProxyClientParam.class), Mockito.anyString())).thenReturn(null); + try (MockedStatic ignore = Mockito.mockStatic(ConsoleProxy.class); + MockedConstruction ignored = Mockito.mockConstruction(ConsoleProxyPasswordBasedEncryptor.class, (mock, context) -> { + Mockito.when(mock.decryptObject(Mockito.eq(ConsoleProxyClientParam.class), Mockito.anyString())).thenReturn(null); + });) { + Mockito.when(ConsoleProxy.getEncryptorPassword()).thenReturn("password"); - String extraValidationToken = "test-token"; - String query = String.format("token=SOME_TOKEN&extra=%s", extraValidationToken); + String extraValidationToken = "test-token"; + String query = String.format("token=SOME_TOKEN&extra=%s", extraValidationToken); - Map queryMap = ConsoleProxyHttpHandlerHelper.getQueryMap(query); - Assert.assertTrue(queryMap.containsKey("extra")); - Assert.assertEquals(extraValidationToken, queryMap.get("extra")); + Map queryMap = ConsoleProxyHttpHandlerHelper.getQueryMap(query); + Assert.assertTrue(queryMap.containsKey("extra")); + Assert.assertEquals(extraValidationToken, queryMap.get("extra")); + } } } diff --git a/services/console-proxy/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/services/console-proxy/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker new file mode 100644 index 00000000000..1f0955d450f --- /dev/null +++ b/services/console-proxy/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker @@ -0,0 +1 @@ +mock-maker-inline diff --git a/services/secondary-storage/server/src/test/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResourceTest.java b/services/secondary-storage/server/src/test/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResourceTest.java index 96afcce747b..2aac2766cf7 100644 --- a/services/secondary-storage/server/src/test/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResourceTest.java +++ b/services/secondary-storage/server/src/test/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResourceTest.java @@ -22,54 +22,50 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.spy; -import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; -import java.io.StringWriter; import org.apache.cloudstack.storage.command.DeleteCommand; import org.apache.cloudstack.storage.to.TemplateObjectTO; import org.apache.log4j.Level; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.Spy; +import org.mockito.junit.MockitoJUnitRunner; import com.cloud.test.TestAppender; -@RunWith(PowerMockRunner.class) -@PowerMockIgnore({ "javax.xml.*", "org.xml.*"}) +@RunWith(MockitoJUnitRunner.class) public class NfsSecondaryStorageResourceTest { + @Spy private NfsSecondaryStorageResource resource; - @Before - public void setUp() { - resource = new NfsSecondaryStorageResource(); - } - @Test - @PrepareForTest(NfsSecondaryStorageResource.class) public void testSwiftWriteMetadataFile() throws Exception { - String filename = "testfile"; + String metaFileName = "test_metadata_file"; try { - String expected = "uniquename=test\nfilename=" + filename + "\nsize=100\nvirtualsize=1000"; + String uniqueName = "test_unique_name"; + String filename = "test_filename"; + long size = 1024L; + long virtualSize = 2048L; - StringWriter stringWriter = new StringWriter(); - BufferedWriter bufferWriter = new BufferedWriter(stringWriter); - PowerMockito.whenNew(BufferedWriter.class).withArguments(any(FileWriter.class)).thenReturn(bufferWriter); + File metaFile = resource.swiftWriteMetadataFile(metaFileName, uniqueName, filename, size, virtualSize); - resource.swiftWriteMetadataFile(filename, "test", filename, 100, 1000); + Assert.assertTrue(metaFile.exists()); + Assert.assertEquals(metaFileName, metaFile.getName()); - Assert.assertEquals(expected, stringWriter.toString()); + String expectedContent = "uniquename=" + uniqueName + "\n" + + "filename=" + filename + "\n" + + "size=" + size + "\n" + + "virtualsize=" + virtualSize; + + String actualContent = new String(java.nio.file.Files.readAllBytes(metaFile.toPath())); + Assert.assertEquals(expectedContent, actualContent); } finally { - File remnance = new File(filename); - remnance.delete(); + File metaFile = new File(metaFileName); + metaFile.delete(); } } diff --git a/services/secondary-storage/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/services/secondary-storage/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker new file mode 100644 index 00000000000..1f0955d450f --- /dev/null +++ b/services/secondary-storage/server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker @@ -0,0 +1 @@ +mock-maker-inline