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 5fda9c36873 Upgrade mockito (#7577)
5fda9c36873 is described below
commit 5fda9c36873e8221dc5c48d0e1ae5ad4cde3ddd1
Author: Vishesh <[email protected]>
AuthorDate: Mon Jun 12 16:04:23 2023 +0530
Upgrade mockito (#7577)
---
pom.xml | 3 +-
.../test/java/com/cloud/utils/FileUtilTest.java | 25 ++---
.../test/java/com/cloud/utils/TestProfiler.java | 9 +-
.../com/cloud/utils/UriUtilsParametrizedTest.java | 21 ++---
.../java/com/cloud/utils/net/NetUtilsTest.java | 29 +++---
.../java/com/cloud/utils/ssh/SshHelperTest.java | 26 ++----
.../cloud/utils/validation/ChecksumUtilTest.java | 20 ++--
.../utils/jsinterpreter/JsInterpreterTest.java | 12 +--
.../ReflectionToStringBuilderUtilsTest.java | 103 +++++++++++----------
.../org.mockito.plugins.MockMaker | 1 +
10 files changed, 115 insertions(+), 134 deletions(-)
diff --git a/pom.xml b/pom.xml
index 10dce9226fc..2497dee7e0a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,7 +113,7 @@
<cs.junit.dataprovider.version>1.13.1</cs.junit.dataprovider.version>
<cs.junit.jupiter.version>5.9.1</cs.junit.jupiter.version>
<cs.guava-testlib.version>18.0</cs.guava-testlib.version>
- <cs.mockito.version>3.2.4</cs.mockito.version>
+ <cs.mockito.version>3.12.4</cs.mockito.version>
<cs.powermock.version>2.0.5</cs.powermock.version>
<cs.selenium.server.version>1.0-20081010.060147</cs.selenium.server.version>
<cs.selenium-java-client-driver.version>1.0.1</cs.selenium-java-client-driver.version>
@@ -1062,6 +1062,7 @@
<exclude>ui/public/**</exclude>
<exclude>ui/legacy/**</exclude>
<exclude>utils/testsmallfileinactive</exclude>
+
<exclude>utils/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker</exclude>
</excludes>
</configuration>
</plugin>
diff --git a/utils/src/test/java/com/cloud/utils/FileUtilTest.java
b/utils/src/test/java/com/cloud/utils/FileUtilTest.java
index 70ad39cd585..87e1a18e85a 100644
--- a/utils/src/test/java/com/cloud/utils/FileUtilTest.java
+++ b/utils/src/test/java/com/cloud/utils/FileUtilTest.java
@@ -20,49 +20,52 @@ import com.cloud.utils.ssh.SshHelper;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
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.junit.MockitoJUnitRunner;
import java.io.File;
import static org.mockito.ArgumentMatchers.nullable;
-@PrepareForTest(value = {SshHelper.class})
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.parsers.*",
"javax.xml.*", "org.w3c.dom.*", "org.xml.*"})
+@RunWith(MockitoJUnitRunner.class)
public class FileUtilTest {
@Test
public void successfulScpTest() throws Exception {
- PowerMockito.mockStatic(SshHelper.class);
+ MockedStatic<SshHelper> sshHelperMocked =
Mockito.mockStatic(SshHelper.class);
String basePath = "/tmp";
String[] files = new String[] { "file1.txt" };
int sshPort = 3922;
String controlIp = "10.0.0.10";
String destPath = "/home/cloud/";
File pemFile = new File("/root/.ssh/id_rsa");
- PowerMockito.doNothing().when(SshHelper.class, "scpTo",
Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(),
Mockito.any(File.class), nullable(String.class), Mockito.anyString(),
Mockito.any(String[].class), Mockito.anyString());
+ sshHelperMocked.when(() ->
+ SshHelper.scpTo(
+ Mockito.anyString(), Mockito.anyInt(),
Mockito.anyString(), Mockito.any(File.class), nullable(String.class),
Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString()
+ )).then(invocation -> null);
FileUtil.scpPatchFiles(controlIp, destPath, sshPort, pemFile, files,
basePath);
+ sshHelperMocked.close();
}
@Test
public void FailingScpFilesTest() throws Exception {
- PowerMockito.mockStatic(SshHelper.class);
String basePath = "/tmp";
String[] files = new String[] { "file1.txt" };
int sshPort = 3922;
String controlIp = "10.0.0.10";
String destPath = "/home/cloud/";
File pemFile = new File("/root/.ssh/id_rsa");
- PowerMockito.doThrow(new Exception()).when(SshHelper.class, "scpTo",
Mockito.anyString(), Mockito.anyInt(), Mockito.anyString(),
Mockito.any(File.class), Mockito.anyString(), Mockito.anyString(),
Mockito.any(String[].class), Mockito.anyString());
+ MockedStatic<SshHelper> sshHelperMocked =
Mockito.mockStatic(SshHelper.class);
+ sshHelperMocked.when(() ->
+ SshHelper.scpTo(Mockito.anyString(), Mockito.anyInt(),
Mockito.anyString(), Mockito.any(File.class), Mockito.anyString(),
Mockito.anyString(), Mockito.any(String[].class), Mockito.anyString()
+ )).thenThrow(new Exception());
try {
FileUtil.scpPatchFiles(controlIp, destPath, sshPort, pemFile,
files, basePath);
} catch (Exception e) {
Assert.assertEquals("Failed to scp files to system VM",
e.getMessage());
}
+ sshHelperMocked.close();
}
diff --git a/utils/src/test/java/com/cloud/utils/TestProfiler.java
b/utils/src/test/java/com/cloud/utils/TestProfiler.java
index 1520963c6e3..1d2d5f7aecd 100644
--- a/utils/src/test/java/com/cloud/utils/TestProfiler.java
+++ b/utils/src/test/java/com/cloud/utils/TestProfiler.java
@@ -23,16 +23,11 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
import com.cloud.utils.testcase.Log4jEnabledTestCase;
+import org.mockito.junit.MockitoJUnitRunner;
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({ "javax.management.*", "com.sun.org.apache.xerces.*",
"javax.xml.*",
- "org.xml.*", "org.w3c.dom.*", "com.sun.org.apache.xalan.*",
"javax.activation.*" })
-@PrepareForTest(Profiler.class)
+@RunWith(MockitoJUnitRunner.class)
public class TestProfiler extends Log4jEnabledTestCase {
private static final long SLEEP_TIME_NANO = 1000000000L;
diff --git a/utils/src/test/java/com/cloud/utils/UriUtilsParametrizedTest.java
b/utils/src/test/java/com/cloud/utils/UriUtilsParametrizedTest.java
index 68479f51d9f..3f1e707c607 100644
--- a/utils/src/test/java/com/cloud/utils/UriUtilsParametrizedTest.java
+++ b/utils/src/test/java/com/cloud/utils/UriUtilsParametrizedTest.java
@@ -31,18 +31,12 @@ import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import org.mockito.MockedStatic;
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.powermock.modules.junit4.PowerMockRunnerDelegate;
import com.google.common.collect.ImmutableSet;
-@RunWith(PowerMockRunner.class)
-@PowerMockRunnerDelegate(Parameterized.class)
-@PowerMockIgnore({"javax.xml.*", "org.apache.xerces.*", "org.xml.*",
"org.w3c.*"})
+@RunWith(Parameterized.class)
public class UriUtilsParametrizedTest {
@FunctionalInterface
public interface ThrowingBlock<E extends Exception> {
@@ -149,14 +143,11 @@ public class UriUtilsParametrizedTest {
}
@Test
- @PrepareForTest({UriUtils.class})
-
public void validateUrl() throws Exception {
+ MockedStatic<InetAddress> inetAddressMocked =
Mockito.mockStatic(InetAddress.class);
InetAddress inetAddressMock = Mockito.mock(InetAddress.class);
-
- PowerMockito.mockStatic(InetAddress.class);
-
PowerMockito.when(InetAddress.getByName(Mockito.anyString())).thenReturn(inetAddressMock);
+ inetAddressMocked.when(() ->
InetAddress.getByName(Mockito.anyString())).thenReturn(inetAddressMock);
if (expectSuccess) {
UriUtils.validateUrl(format, url);
@@ -164,14 +155,14 @@ public class UriUtilsParametrizedTest {
assertThrows(() -> UriUtils.validateUrl(format, url),
IllegalArgumentException.class);
}
- PowerMockito.verifyStatic(InetAddress.class);
- InetAddress.getByName(Mockito.anyString());
+ inetAddressMocked.verify(() ->
InetAddress.getByName(Mockito.anyString()));
Mockito.verify(inetAddressMock).isAnyLocalAddress();
Mockito.verify(inetAddressMock).isLinkLocalAddress();
Mockito.verify(inetAddressMock).isLoopbackAddress();
Mockito.verify(inetAddressMock).isMulticastAddress();
+ inetAddressMocked.close();
}
@Test
diff --git a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
index 53e2e3ae376..4a6c5df4fd0 100644
--- a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
+++ b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
@@ -52,15 +52,12 @@ import com.googlecode.ipv6.IPv6Address;
import com.googlecode.ipv6.IPv6Network;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
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.runners.MockitoJUnitRunner;
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"jdk.xml.internal.*", "javax.xml.parsers.*",
"org.xml.sax.*", "org.w3c.dom.*"})
+@RunWith(MockitoJUnitRunner.class)
public class NetUtilsTest {
private static final String WIDE_SHARED_NET_CIDR_IP = "10.20.0.0";
private static final List<String> WIDE_SHARED_NET_USED_IPS =
List.of("10.20.0.22", "10.20.1.22", "10.20.2.22");
@@ -815,34 +812,34 @@ public class NetUtilsTest {
}
@Test
- @PrepareForTest(NetUtils.class)
public void getNetworkInterfaceTestReturnNullWhenGetByNameReturnsNull()
throws SocketException {
- PowerMockito.mockStatic(NetworkInterface.class);
-
PowerMockito.when(NetworkInterface.getByName(Mockito.anyString())).thenReturn(null);
+ MockedStatic<NetworkInterface> networkInterfaceMocked =
Mockito.mockStatic(NetworkInterface.class);
+
Mockito.when(NetworkInterface.getByName(Mockito.anyString())).thenReturn(null);
NetworkInterface result = NetUtils.getNetworkInterface(" test ");
Assert.assertNull(result);
+ networkInterfaceMocked.close();
}
@Test
- @PrepareForTest(NetUtils.class)
public void
getNetworkInterfaceTestReturnNullWhenGetByNameThrowsException() throws
SocketException {
- PowerMockito.mockStatic(NetworkInterface.class);
-
PowerMockito.when(NetworkInterface.getByName(Mockito.anyString())).thenThrow(SocketException.class);
+ MockedStatic<NetworkInterface> networkInterfaceMocked =
Mockito.mockStatic(NetworkInterface.class);
+
Mockito.when(NetworkInterface.getByName(Mockito.anyString())).thenThrow(SocketException.class);
NetworkInterface result = NetUtils.getNetworkInterface(" test ");
Assert.assertNull(result);
+ networkInterfaceMocked.close();
}
@Test
- @PrepareForTest(NetUtils.class)
public void getNetworkInterfaceTestReturnInterfaceReturnedByGetByName()
throws SocketException {
- NetworkInterface expected = PowerMockito.mock(NetworkInterface.class);
- PowerMockito.mockStatic(NetworkInterface.class);
-
PowerMockito.when(NetworkInterface.getByName(Mockito.anyString())).thenReturn(expected);
+ MockedStatic<NetworkInterface> networkInterfaceMocked =
Mockito.mockStatic(NetworkInterface.class);
+ NetworkInterface expected = Mockito.mock(NetworkInterface.class);
+
Mockito.when(NetworkInterface.getByName(Mockito.anyString())).thenReturn(expected);
NetworkInterface result = NetUtils.getNetworkInterface(" test ");
Assert.assertEquals(expected, result);
+ networkInterfaceMocked.close();
}
}
diff --git a/utils/src/test/java/com/cloud/utils/ssh/SshHelperTest.java
b/utils/src/test/java/com/cloud/utils/ssh/SshHelperTest.java
index 37bd089dfc5..04d84435abe 100644
--- a/utils/src/test/java/com/cloud/utils/ssh/SshHelperTest.java
+++ b/utils/src/test/java/com/cloud/utils/ssh/SshHelperTest.java
@@ -25,38 +25,31 @@ import java.io.InputStream;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
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.runners.MockitoJUnitRunner;
import com.trilead.ssh2.ChannelCondition;
import com.trilead.ssh2.Connection;
import com.trilead.ssh2.Session;
-@PrepareForTest({ Thread.class, SshHelper.class })
-@PowerMockIgnore({ "javax.management.*", "com.sun.org.apache.xerces.*",
"javax.xml.*",
- "org.xml.*", "org.w3c.dom.*", "com.sun.org.apache.xalan.*",
"javax.activation.*" })
-@RunWith(PowerMockRunner.class)
+@RunWith(MockitoJUnitRunner.class)
public class SshHelperTest {
@Test
public void canEndTheSshConnectionTest() throws Exception {
- PowerMockito.spy(SshHelper.class);
+ MockedStatic<SshHelper> sshHelperMocked =
Mockito.mockStatic(SshHelper.class, Mockito.CALLS_REAL_METHODS);
Session mockedSession = Mockito.mock(Session.class);
- PowerMockito.doReturn(true).when(SshHelper.class,
"isChannelConditionEof", Mockito.anyInt());
-
Mockito.when(mockedSession.waitForCondition(ChannelCondition.EXIT_STATUS,
1l)).thenReturn(0);
- PowerMockito.doNothing().when(SshHelper.class,
"throwSshExceptionIfConditionsTimeout", Mockito.anyInt());
+
Mockito.when(SshHelper.isChannelConditionEof(Mockito.anyInt())).thenReturn(true);
+
Mockito.when(mockedSession.waitForCondition(ChannelCondition.EXIT_STATUS,
1L)).thenReturn(0);
SshHelper.canEndTheSshConnection(1, mockedSession, 0);
-
- PowerMockito.verifyStatic(SshHelper.class);
- SshHelper.isChannelConditionEof(Mockito.anyInt());
- SshHelper.throwSshExceptionIfConditionsTimeout(Mockito.anyInt());
+ sshHelperMocked.verify(() ->
SshHelper.isChannelConditionEof(Mockito.anyInt()), Mockito.times(1));
+ sshHelperMocked.verify(() ->
SshHelper.throwSshExceptionIfConditionsTimeout(Mockito.anyInt()));
Mockito.verify(mockedSession).waitForCondition(ChannelCondition.EXIT_STATUS,
1l);
+ sshHelperMocked.close();
}
@Test(expected = SshException.class)
@@ -143,7 +136,6 @@ public class SshHelperTest {
@Test
public void openConnectionSessionTest() throws IOException,
InterruptedException {
Connection conn = Mockito.mock(Connection.class);
- PowerMockito.mockStatic(Thread.class);
SshHelper.openConnectionSession(conn);
Mockito.verify(conn).openSession();
diff --git
a/utils/src/test/java/com/cloud/utils/validation/ChecksumUtilTest.java
b/utils/src/test/java/com/cloud/utils/validation/ChecksumUtilTest.java
index 08cc389621e..2b99275b978 100644
--- a/utils/src/test/java/com/cloud/utils/validation/ChecksumUtilTest.java
+++ b/utils/src/test/java/com/cloud/utils/validation/ChecksumUtilTest.java
@@ -20,37 +20,35 @@ import com.cloud.utils.script.Script;
import org.apache.cloudstack.utils.security.DigestHelper;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
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.junit.MockitoJUnitRunner;
+
import java.io.File;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-@PrepareForTest(value = {Script.class, DigestHelper.class})
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.parsers.*",
"javax.xml.*", "org.w3c.dom.*", "org.xml.*"})
+@RunWith(MockitoJUnitRunner.class)
public class ChecksumUtilTest {
@Test
public void invalidFileForCheckSumValidationTest() {
- PowerMockito.mockStatic(Script.class);
+ MockedStatic<Script> scriptMocked = Mockito.mockStatic(Script.class);
Mockito.when(Script.findScript(Mockito.anyString(),
Mockito.anyString())).thenReturn(null);
try {
ChecksumUtil.calculateCurrentChecksum(Mockito.anyString(),
Mockito.anyString());
} catch (Exception e) {
assertTrue(e.getMessage().contains("Unable to find cloudScripts
path, cannot update SystemVM"));
}
+ scriptMocked.close();
}
@Test
public void generateChecksumTest() {
- PowerMockito.mockStatic(Script.class);
- PowerMockito.mockStatic(DigestHelper.class);
+ MockedStatic<Script> scriptMocked = Mockito.mockStatic(Script.class);
+ MockedStatic<DigestHelper> digestHelperMocked =
Mockito.mockStatic(DigestHelper.class);
Mockito.when(Script.findScript(Mockito.anyString(),
Mockito.anyString())).thenReturn("/dummyPath");
Mockito.when(DigestHelper.calculateChecksum(Mockito.any(File.class))).thenReturn("dummy-checksum");
try {
@@ -58,5 +56,7 @@ public class ChecksumUtilTest {
} catch (Exception e) {
fail("Failed to generate checksum");
}
+ scriptMocked.close();
+ digestHelperMocked.close();
}
}
diff --git
a/utils/src/test/java/org/apache/cloudstack/utils/jsinterpreter/JsInterpreterTest.java
b/utils/src/test/java/org/apache/cloudstack/utils/jsinterpreter/JsInterpreterTest.java
index 1567d897fe6..d1814625929 100644
---
a/utils/src/test/java/org/apache/cloudstack/utils/jsinterpreter/JsInterpreterTest.java
+++
b/utils/src/test/java/org/apache/cloudstack/utils/jsinterpreter/JsInterpreterTest.java
@@ -35,16 +35,12 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
import javax.script.ScriptEngine;
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"javax.xml.*", "org.apache.xerces.*", "org.xml.*",
"org.w3c.*"})
-@PrepareForTest(JsInterpreter.class)
+@RunWith(MockitoJUnitRunner.class)
public class JsInterpreterTest {
private long timeout = 2000;
@@ -95,7 +91,6 @@ public class JsInterpreterTest {
public void executeScriptTestReturnResultOfScriptExecution() {
String script = "5";
Object expected = new Object();
-
Mockito.doReturn(script).when(jsInterpreterSpy).addVariablesToScript(Mockito.anyString());
Mockito.doReturn(expected).when(jsInterpreterSpy).executeScript(Mockito.anyString());
Object result = jsInterpreterSpy.executeScript(script);
@@ -173,9 +168,8 @@ public class JsInterpreterTest {
}
@Test
- @PrepareForTest(NashornScriptEngineFactory.class)
public void setScriptEngineDisablingJavaLanguageTest() {
- NashornScriptEngineFactory nashornScriptEngineFactoryMock =
Mockito.mock(NashornScriptEngineFactory.class);
+ NashornScriptEngineFactory nashornScriptEngineFactoryMock =
Mockito.spy(NashornScriptEngineFactory.class);
ScriptEngine scriptEngineMock = Mockito.mock(ScriptEngine.class);
Mockito.doReturn(scriptEngineMock).when(nashornScriptEngineFactoryMock).getScriptEngine(Mockito.anyString());
diff --git
a/utils/src/test/java/org/apache/cloudstack/utils/reflectiontostringbuilderutils/ReflectionToStringBuilderUtilsTest.java
b/utils/src/test/java/org/apache/cloudstack/utils/reflectiontostringbuilderutils/ReflectionToStringBuilderUtilsTest.java
index 4a2a2a6989b..75befde3efd 100644
---
a/utils/src/test/java/org/apache/cloudstack/utils/reflectiontostringbuilderutils/ReflectionToStringBuilderUtilsTest.java
+++
b/utils/src/test/java/org/apache/cloudstack/utils/reflectiontostringbuilderutils/ReflectionToStringBuilderUtilsTest.java
@@ -33,16 +33,12 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.MockedStatic;
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.junit.MockitoJUnitRunner;
import org.reflections.ReflectionUtils;
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"org.w3c.*", "javax.xml.*", "org.xml.*"})
-@PrepareForTest(ReflectionToStringBuilderUtils.class)
+@RunWith(MockitoJUnitRunner.class)
public class ReflectionToStringBuilderUtilsTest extends TestCase {
private static final Set<ToStringStyle> TO_STRING_STYLES = new
HashSet<>(Arrays.asList(ToStringStyle.DEFAULT_STYLE, ToStringStyle.JSON_STYLE,
ToStringStyle.MULTI_LINE_STYLE,
@@ -95,60 +91,63 @@ public class ReflectionToStringBuilderUtilsTest extends
TestCase {
@Test
public void validateGetObjectClassInvalidObjectMustReturnNull(){
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(false);
-
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(false);
Class<?> result =
ReflectionToStringBuilderUtils.getObjectClass("test");
Assert.assertNull(result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateGetObjectClassObjectIsNotACollectionMustReturnObjectClass(){
Class<?> expectedResult = classToReflect;
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(false);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(false);
Class<?> result =
ReflectionToStringBuilderUtils.getObjectClass("test");
Assert.assertEquals(expectedResult, result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateGetObjectClassObjectIsAnEmptyCollectionMustReturnNull(){
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
Class<?> result = ReflectionToStringBuilderUtils.getObjectClass(new
ArrayList<String>());
Assert.assertNull(result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateGetObjectClassObjectIsACollectionWithOnlyNullValuesMustReturnNull(){
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
Class<?> result = ReflectionToStringBuilderUtils.getObjectClass(new
ArrayList<String>(Arrays.asList(null, null)));
Assert.assertNull(result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateGetObjectClassObjectIsACollectionWithAtLeastOneObjectsMustReturnObjectClass(){
Class<?> expectedResult = classToReflect;
-
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isValidObject(Mockito.any())).thenReturn(true);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
Class<?> result = ReflectionToStringBuilderUtils.getObjectClass(new
ArrayList<>(Arrays.asList(null, "test1")));
Assert.assertEquals(expectedResult, result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
@@ -163,12 +162,13 @@ public class ReflectionToStringBuilderUtilsTest extends
TestCase {
@Test
public void validateGetNonSelectedFieldsNullObjectClassMustReturnNull(){
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.getObjectClass(Mockito.any())).thenReturn(null);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getObjectClass(Mockito.any())).thenReturn(null);
String[] result =
ReflectionToStringBuilderUtils.getNonSelectedFields(null, "test1", "test2");
Assert.assertNull(result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
@@ -250,26 +250,28 @@ public class ReflectionToStringBuilderUtilsTest extends
TestCase {
@Test
public void
validateReflectOnlySelectedFieldsNullNonSelectedFieldsMustReturnNull() throws
Exception{
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(null);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(null);
TO_STRING_STYLES.forEach(style -> {
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(null, style, "-");
Assert.assertNull(result);
});
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateReflectOnlySelectedFieldsEmptyNonSelectedFieldsMustReturnEmptyString()
throws Exception{
String expectedResult = "";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(new String[0]);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(new String[0]);
TO_STRING_STYLES.forEach(style -> {
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(null, style, "-");
Assert.assertEquals(expectedResult, result);
});
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
@@ -277,80 +279,85 @@ public class ReflectionToStringBuilderUtilsTest extends
TestCase {
String fieldToRemove = classToReflectRemovedField;
String expectedResult = "test";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(classToReflectFieldsNamesArray);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(expectedResult);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(classToReflectFieldsNamesArray);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(), Mockito.any(),
Mockito.anyString(), Mockito.any())).thenReturn(expectedResult);
TO_STRING_STYLES.forEach(style -> {
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(new Object(), style,
"-", fieldToRemove);
Assert.assertEquals(expectedResult, result);
});
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateReflectOnlySelectedFieldsObjectIsNotACollectionMustReflectObject()
throws Exception{
String expectedResult = "test";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(classToReflectFieldsNamesArray);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(null);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getNonSelectedFields(Mockito.any(),
Mockito.any())).thenReturn(classToReflectFieldsNamesArray);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(), Mockito.any(),
Mockito.anyString(), Mockito.any())).thenReturn(null);
for (ToStringStyle style : TO_STRING_STYLES){
-
PowerMockito.doReturn(expectedResult).when(ReflectionToStringBuilderUtils.class,
"getReflectedObject", Mockito.any(), Mockito.any(), Mockito.any());
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.getReflectedObject(Mockito.any(), Mockito.any(),
Mockito.any())).thenReturn(expectedResult);
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(expectedResult, style,
"-", classToReflectFieldsNamesArray);
Assert.assertEquals(expectedResult, result);
}
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateReflectOnlySelectedFieldsDefaultStyleReflectionNullMustReturnNull(){
String expectedResult = null;
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(null);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(null);
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(new Object(),
(String[]) null);
Assert.assertEquals(expectedResult, result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateReflectOnlySelectedFieldsDefaultStyleReflectCollectionMustReturnValue(){
String expectedResult = "[test]";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn("test");
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn("test");
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(true);
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(new Object());
Assert.assertEquals(expectedResult, result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
validateReflectOnlySelectedFieldsDefaultStyleReflectMustReturnValue(){
String expectedResult = "test";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(expectedResult);
-
PowerMockito.when(ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(false);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(expectedResult);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.isCollection(Mockito.any())).thenReturn(false);
String result =
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(new Object());
Assert.assertEquals(expectedResult, result);
+ reflectionToStringBuilderUtilsMocked.close();
}
@Test
public void
reflectCollectionTestCallBaseReflectCollectionMethodWithDefaultParameters() {
String expected = "test";
- PowerMockito.spy(ReflectionToStringBuilderUtils.class);
-
PowerMockito.when(ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(),
Mockito.any(), Mockito.anyString(), Mockito.any())).thenReturn(expected);
+ MockedStatic<ReflectionToStringBuilderUtils>
reflectionToStringBuilderUtilsMocked =
Mockito.mockStatic(ReflectionToStringBuilderUtils.class,
Mockito.CALLS_REAL_METHODS);
+ reflectionToStringBuilderUtilsMocked.when(() ->
ReflectionToStringBuilderUtils.reflectCollection(Mockito.any(), Mockito.any(),
Mockito.anyString(), Mockito.any())).thenReturn(expected);
Object object = Mockito.mock(Object.class);
String result =
ReflectionToStringBuilderUtils.reflectCollection(object);
Assert.assertEquals(expected, result);
- PowerMockito.verifyStatic(ReflectionToStringBuilderUtils.class);
String[] excludeFields = null;
- ReflectionToStringBuilderUtils.reflectCollection(object,
DEFAULT_STYLE, DEFAULT_MULTIPLE_VALUES_SEPARATOR, excludeFields);
+ reflectionToStringBuilderUtilsMocked.verify(() ->
ReflectionToStringBuilderUtils.reflectCollection(object, DEFAULT_STYLE,
DEFAULT_MULTIPLE_VALUES_SEPARATOR, excludeFields));
+ reflectionToStringBuilderUtilsMocked.close();
}
}
diff --git
a/utils/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
b/utils/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
new file mode 100644
index 00000000000..ca6ee9cea8e
--- /dev/null
+++ b/utils/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
@@ -0,0 +1 @@
+mock-maker-inline
\ No newline at end of file