From d866e751d8c610270315ac502f1f5815ca2d9c31 Mon Sep 17 00:00:00 2001 From: John Blum Date: Fri, 16 Jun 2023 14:49:49 -0700 Subject: [PATCH] Cleanup usage of internal Mockito API. Resolves #650 --- ...actGemFireAsLastResourceAspectSupport.java | 8 +-- ...eAsLastResourceAspectSupportUnitTests.java | 58 +++---------------- 2 files changed, 12 insertions(+), 54 deletions(-) diff --git a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupport.java b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupport.java index 89677130..289b0a78 100644 --- a/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupport.java +++ b/spring-data-geode/src/main/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupport.java @@ -262,7 +262,7 @@ public class AbstractGemFireAsLastResourceAspectSupport implements Ordered { Logger logger = getLogger(); if (logger.isDebugEnabled()) { - logger.debug(format(message, args), args); + logger.debug(format(message, args)); } return (T) this; @@ -286,7 +286,7 @@ public class AbstractGemFireAsLastResourceAspectSupport implements Ordered { Logger logger = getLogger(); if (logger.isInfoEnabled()) { - logger.info(format(message, args), args); + logger.info(format(message, args)); } return (T) this; @@ -347,7 +347,7 @@ public class AbstractGemFireAsLastResourceAspectSupport implements Ordered { Logger logger = getLogger(); if (logger.isWarnEnabled()) { - logger.warn(format(message, args), args); + logger.warn(format(message, args)); } return (T) this; @@ -371,7 +371,7 @@ public class AbstractGemFireAsLastResourceAspectSupport implements Ordered { Logger logger = getLogger(); if (logger.isErrorEnabled()) { - logger.error(format(message, args), args); + logger.error(format(message, args)); } return (T) this; diff --git a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupportUnitTests.java b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupportUnitTests.java index fbeb4974..8578cf70 100644 --- a/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupportUnitTests.java +++ b/spring-data-geode/src/test/java/org/springframework/data/gemfire/config/annotation/support/AbstractGemFireAsLastResourceAspectSupportUnitTests.java @@ -18,7 +18,6 @@ package org.springframework.data.gemfire.config.annotation.support; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -28,12 +27,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; -import static org.springframework.data.gemfire.util.RuntimeExceptionFactory.newIllegalArgumentException; -import java.util.Arrays; import java.util.Hashtable; -import java.util.List; -import java.util.Optional; import javax.naming.Context; import javax.naming.InitialContext; @@ -42,10 +37,8 @@ import javax.naming.NamingException; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatcher; import org.mockito.Mock; import org.mockito.Spy; -import org.mockito.internal.matchers.VarargMatcher; import org.mockito.junit.MockitoJUnitRunner; import org.apache.geode.cache.GemFireCache; @@ -77,6 +70,10 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { @Spy private AbstractGemFireAsLastResourceAspectSupport aspectSupport; + private Object[] asArray(Object... array) { + return array; + } + @Before @SuppressWarnings("all") public void setup() { @@ -129,15 +126,7 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { "debug", "test")) .isSameAs(aspectSupport); verify(mockLogger, times(1)).isDebugEnabled(); - // TODO why the f#&k does this not work Mockito?! - //verify(mockLogger, times(1)) - // .debug(eq("test debug message"), eq("debug"), eq("test")); - // TODO this ridiculous sh!t works - //verify(mockLogger, times(1)).debug(eq("test debug message"), - // ArgumentMatchers.any()); - // TODO and so does this, but what a hack! - verify(mockLogger, times(1)).debug(eq("test debug message"), - VariableArgumentMatcher.varArgThat("debug", "test")); + verify(mockLogger, times(1)).debug(eq("test debug message")); } @Test @@ -163,8 +152,7 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { .isSameAs(aspectSupport); verify(mockLogger, times(1)).isInfoEnabled(); - verify(mockLogger, times(1)).info(eq("test info message"), - VariableArgumentMatcher.varArgThat("info")); + verify(mockLogger, times(1)).info(eq("test info message")); } @Test @@ -230,8 +218,7 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { .isSameAs(aspectSupport); verify(mockLogger, times(1)).isWarnEnabled(); - verify(mockLogger, times(1)).warn(eq("test warning message"), - VariableArgumentMatcher.varArgThat("warning")); + verify(mockLogger, times(1)).warn(eq("test warning message")); } @Test @@ -258,8 +245,7 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { .isSameAs(aspectSupport); verify(mockLogger, times(1)).isErrorEnabled(); - verify(mockLogger, times(1)).error(eq("test error message"), - VariableArgumentMatcher.varArgThat("error")); + verify(mockLogger, times(1)).error(eq("test error message")); } @Test @@ -417,32 +403,4 @@ public class AbstractGemFireAsLastResourceAspectSupportUnitTests { assertThat(aspectSupport.withThrowOnError(false)).isSameAs(aspectSupport); assertThat(aspectSupport.isThrowOnError()).isFalse(); } - - // TODO refactor this BS; damn you Mockito for your inability to match Varargs completely/reliably; WTF! - static final class VariableArgumentMatcher implements ArgumentMatcher, VarargMatcher { - - static Object[] varArgThat(Object... expectedArguments) { - return argThat(new VariableArgumentMatcher<>(expectedArguments)); - } - - private final Object[] expectedArguments; - - VariableArgumentMatcher(Object... expectedArguments) { - this.expectedArguments = Optional.ofNullable(expectedArguments) - .orElseThrow(() -> newIllegalArgumentException("Expected arguments must not be null")); - } - - @Override - public boolean matches(T actualArgument) { - return asList(this.expectedArguments).containsAll(asList(actualArgument)); - } - - private List asList(Object argument) { - return Arrays.asList(toArray(argument)); - } - - private Object[] toArray(Object argument) { - return (argument instanceof Object[] ? (Object[]) argument : new Object[] { argument }); - } - } }