You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2018/10/08 11:39:26 UTC
[flink] branch master updated: [FLINK-10208][build] Bump mockito to
2.21.0 / powermock to 2.0.0-beta.5
This is an automated email from the ASF dual-hosted git repository.
chesnay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new a2826cc [FLINK-10208][build] Bump mockito to 2.21.0 / powermock to 2.0.0-beta.5
a2826cc is described below
commit a2826ccded5b20374e71dc8377a119e692559647
Author: Chesnay Schepler <ch...@apache.org>
AuthorDate: Mon Oct 8 13:39:20 2018 +0200
[FLINK-10208][build] Bump mockito to 2.21.0 / powermock to 2.0.0-beta.5
---
.../flink/client/cli/CliFrontendSavepointTest.java | 6 +-
.../elasticsearch/ElasticsearchSinkBaseTest.java | 2 +-
.../kafka/internal/KafkaConsumerThreadTest.java | 12 ++--
.../kafka/FlinkKafkaProducerBaseTest.java | 2 +-
.../kinesis/FlinkKinesisConsumerTest.java | 2 +-
.../kinesis/FlinkKinesisProducerTest.java | 3 +-
.../connectors/kinesis/proxy/KinesisProxyTest.java | 2 +-
.../java/hadoop/mapred/HadoopInputFormatTest.java | 6 +-
.../java/hadoop/mapred/HadoopOutputFormatTest.java | 9 +--
.../hadoop/mapreduce/HadoopInputFormatTest.java | 5 +-
.../hadoop/mapreduce/HadoopOutputFormatTest.java | 15 ++---
.../flink/util/MethodForwardingTestUtil.java | 3 +-
.../flink/formats/avro/AvroOutputFormatTest.java | 2 +-
.../apache/flink/cep/operator/CEPOperatorTest.java | 2 +-
.../clusterframework/MesosResourceManagerTest.java | 2 +-
.../test/scala/org/apache/flink/mesos/Utils.scala | 7 +-
.../mesos/scheduler/LaunchCoordinatorTest.scala | 2 +-
.../network/KvStateClientHandlerTest.java | 11 ++--
.../checkpoint/CheckpointStateRestoreTest.java | 7 +-
.../runtime/checkpoint/PendingCheckpointTest.java | 3 +-
.../partition/SpillableSubpartitionTest.java | 4 +-
.../flink/runtime/net/ConnectionUtilsTest.java | 3 -
.../registration/RetryingRegistrationTest.java | 6 +-
.../handler/legacy/TaskManagerLogHandlerTest.java | 2 +-
.../runtime/taskexecutor/TaskExecutorITCase.java | 2 +-
.../runtime/taskexecutor/TaskExecutorTest.java | 4 +-
.../taskexecutor/slot/TimerServiceTest.java | 2 +-
.../runtime/jobmanager/JobManagerITCase.scala | 16 ++---
.../api/operators/AbstractStreamOperatorTest.java | 12 +++-
.../functions/InternalWindowFunctionTest.java | 2 +-
.../io/BarrierBufferAlignmentLimitTest.java | 2 +-
.../runtime/io/BarrierBufferTestBase.java | 8 ++-
.../DynamicEventTimeSessionWindowsTest.java | 2 +-
.../DynamicProcessingTimeSessionWindowsTest.java | 2 +-
.../windowing/EventTimeSessionWindowsTest.java | 2 +-
.../ProcessingTimeSessionWindowsTest.java | 2 +-
.../windowing/WindowOperatorContractTest.java | 6 +-
.../operators/windowing/WindowOperatorTest.java | 16 ++---
.../streaming/runtime/tasks/StreamTaskTest.java | 7 +-
.../main/java/org/apache/flink/mock/Whitebox.java | 75 ++++++++++++++++++++++
pom.xml | 28 ++++++--
41 files changed, 205 insertions(+), 101 deletions(-)
diff --git a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendSavepointTest.java b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendSavepointTest.java
index 75f3b3d..3b48f86 100644
--- a/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendSavepointTest.java
+++ b/flink-clients/src/test/java/org/apache/flink/client/cli/CliFrontendSavepointTest.java
@@ -47,8 +47,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Matchers.isNull;
import static org.mockito.Mockito.mock;
@@ -315,7 +315,7 @@ public class CliFrontendSavepointTest extends CliFrontendTestBase {
private static ClusterClient<String> createClusterClient(String expectedResponse) throws Exception {
final ClusterClient<String> clusterClient = mock(ClusterClient.class);
- when(clusterClient.triggerSavepoint(any(JobID.class), anyString()))
+ when(clusterClient.triggerSavepoint(any(JobID.class), nullable(String.class)))
.thenReturn(CompletableFuture.completedFuture(expectedResponse));
return clusterClient;
@@ -324,7 +324,7 @@ public class CliFrontendSavepointTest extends CliFrontendTestBase {
private static ClusterClient<String> createFailingClusterClient(Exception expectedException) throws Exception {
final ClusterClient<String> clusterClient = mock(ClusterClient.class);
- when(clusterClient.triggerSavepoint(any(JobID.class), anyString()))
+ when(clusterClient.triggerSavepoint(any(JobID.class), nullable(String.class)))
.thenReturn(FutureUtils.completedExceptionally(expectedException));
return clusterClient;
diff --git a/flink-connectors/flink-connector-elasticsearch-base/src/test/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkBaseTest.java b/flink-connectors/flink-connector-elasticsearch-base/src/test/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkBaseTest.java
index 369d26a..322d64c 100644
--- a/flink-connectors/flink-connector-elasticsearch-base/src/test/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkBaseTest.java
+++ b/flink-connectors/flink-connector-elasticsearch-base/src/test/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkBaseTest.java
@@ -483,7 +483,7 @@ public class ElasticsearchSinkBaseTest {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
// intercept the request and add it to our mock bulk request
- nextBulkRequest.add(invocationOnMock.getArgumentAt(0, IndexRequest.class));
+ nextBulkRequest.add((IndexRequest) invocationOnMock.getArgument(0));
return null;
}
diff --git a/flink-connectors/flink-connector-kafka-0.9/src/test/java/org/apache/flink/streaming/connectors/kafka/internal/KafkaConsumerThreadTest.java b/flink-connectors/flink-connector-kafka-0.9/src/test/java/org/apache/flink/streaming/connectors/kafka/internal/KafkaConsumerThreadTest.java
index 3d40187..8dbf871 100644
--- a/flink-connectors/flink-connector-kafka-0.9/src/test/java/org/apache/flink/streaming/connectors/kafka/internal/KafkaConsumerThreadTest.java
+++ b/flink-connectors/flink-connector-kafka-0.9/src/test/java/org/apache/flink/streaming/connectors/kafka/internal/KafkaConsumerThreadTest.java
@@ -797,7 +797,7 @@ public class KafkaConsumerThreadTest {
when(mockConsumer.position(any(TopicPartition.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- return mockConsumerAssignmentAndPosition.get(invocationOnMock.getArgumentAt(0, TopicPartition.class));
+ return mockConsumerAssignmentAndPosition.get(invocationOnMock.getArgument(0));
}
});
} else {
@@ -809,7 +809,7 @@ public class KafkaConsumerThreadTest {
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
mockConsumerAssignmentAndPosition.clear();
- List<TopicPartition> assignedPartitions = invocationOnMock.getArgumentAt(0, List.class);
+ List<TopicPartition> assignedPartitions = invocationOnMock.getArgument(0);
for (TopicPartition assigned : assignedPartitions) {
mockConsumerAssignmentAndPosition.put(assigned, null);
}
@@ -820,8 +820,8 @@ public class KafkaConsumerThreadTest {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- TopicPartition partition = invocationOnMock.getArgumentAt(0, TopicPartition.class);
- long position = invocationOnMock.getArgumentAt(1, long.class);
+ TopicPartition partition = invocationOnMock.getArgument(0);
+ long position = invocationOnMock.getArgument(1);
if (!mockConsumerAssignmentAndPosition.containsKey(partition)) {
throw new Exception("the current mock assignment does not contain partition " + partition);
@@ -835,7 +835,7 @@ public class KafkaConsumerThreadTest {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- TopicPartition partition = invocationOnMock.getArgumentAt(0, TopicPartition.class);
+ TopicPartition partition = invocationOnMock.getArgument(0);
if (!mockConsumerAssignmentAndPosition.containsKey(partition)) {
throw new Exception("the current mock assignment does not contain partition " + partition);
@@ -854,7 +854,7 @@ public class KafkaConsumerThreadTest {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- TopicPartition partition = invocationOnMock.getArgumentAt(0, TopicPartition.class);
+ TopicPartition partition = invocationOnMock.getArgument(0);
if (!mockConsumerAssignmentAndPosition.containsKey(partition)) {
throw new Exception("the current mock assignment does not contain partition " + partition);
diff --git a/flink-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducerBaseTest.java b/flink-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducerBaseTest.java
index 8d296e1..a6adb5c 100644
--- a/flink-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducerBaseTest.java
+++ b/flink-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/FlinkKafkaProducerBaseTest.java
@@ -352,7 +352,7 @@ public class FlinkKafkaProducerBaseTest {
when(mockProducer.send(any(ProducerRecord.class), any(Callback.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- pendingCallbacks.add(invocationOnMock.getArgumentAt(1, Callback.class));
+ pendingCallbacks.add(invocationOnMock.getArgument(1));
return null;
}
});
diff --git a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java
index 05c1cce..c18f430 100644
--- a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java
+++ b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisConsumerTest.java
@@ -28,6 +28,7 @@ import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.api.java.typeutils.runtime.PojoSerializer;
import org.apache.flink.configuration.Configuration;
+import org.apache.flink.mock.Whitebox;
import org.apache.flink.runtime.state.FunctionSnapshotContext;
import org.apache.flink.runtime.state.StateInitializationContext;
import org.apache.flink.runtime.state.StateSnapshotContextSynchronousImpl;
@@ -54,7 +55,6 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.mockito.Matchers;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
diff --git a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducerTest.java b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducerTest.java
index 6355cf5..3250daa 100644
--- a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducerTest.java
+++ b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducerTest.java
@@ -48,6 +48,7 @@ import java.util.List;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doAnswer;
@@ -431,7 +432,7 @@ public class FlinkKinesisProducerTest {
// set up mock producer
this.mockProducer = mock(KinesisProducer.class);
- when(mockProducer.addUserRecord(anyString(), anyString(), anyString(), any(ByteBuffer.class))).thenAnswer(new Answer<Object>() {
+ when(mockProducer.addUserRecord(anyString(), anyString(), nullable(String.class), any(ByteBuffer.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
SettableFuture<UserRecordResult> future = SettableFuture.create();
diff --git a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/proxy/KinesisProxyTest.java b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/proxy/KinesisProxyTest.java
index edf6ceb..6bcf4aa 100644
--- a/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/proxy/KinesisProxyTest.java
+++ b/flink-connectors/flink-connector-kinesis/src/test/java/org/apache/flink/streaming/connectors/kinesis/proxy/KinesisProxyTest.java
@@ -63,9 +63,9 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.argThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Test for methods in the {@link KinesisProxy} class.
diff --git a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopInputFormatTest.java b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopInputFormatTest.java
index bfee273..48dc599 100644
--- a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopInputFormatTest.java
+++ b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopInputFormatTest.java
@@ -42,10 +42,10 @@ import java.io.IOException;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.anyLong;
-import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -151,7 +151,7 @@ public class HadoopInputFormatTest {
@Test
public void testFetchNext() throws IOException {
DummyRecordReader recordReader = mock(DummyRecordReader.class);
- when(recordReader.next(anyString(), anyLong())).thenReturn(true);
+ when(recordReader.next(nullable(String.class), nullable(Long.class))).thenReturn(true);
DummyInputFormat inputFormat = mock(DummyInputFormat.class);
when(inputFormat.getRecordReader(any(InputSplit.class), any(JobConf.class), any(Reporter.class))).thenReturn(recordReader);
@@ -160,7 +160,7 @@ public class HadoopInputFormatTest {
hadoopInputFormat.open(getHadoopInputSplit());
hadoopInputFormat.fetchNext();
- verify(recordReader, times(1)).next(anyString(), anyLong());
+ verify(recordReader, times(1)).next(nullable(String.class), anyLong());
assertThat(hadoopInputFormat.hasNext, is(true));
assertThat(hadoopInputFormat.fetched, is(true));
}
diff --git a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopOutputFormatTest.java b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopOutputFormatTest.java
index 362a37f..6ddef7b 100644
--- a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopOutputFormatTest.java
+++ b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapred/HadoopOutputFormatTest.java
@@ -38,6 +38,7 @@ import org.mockito.Mockito;
import java.io.IOException;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyLong;
@@ -65,7 +66,7 @@ public class HadoopOutputFormatTest {
verify(jobConf, times(2)).getOutputCommitter();
verify(outputCommitter, times(1)).setupJob(any(JobContext.class));
- verify(dummyOutputFormat, times(1)).getRecordWriter(any(FileSystem.class), any(JobConf.class), anyString(), any(Progressable.class));
+ verify(dummyOutputFormat, times(1)).getRecordWriter(nullable(FileSystem.class), any(JobConf.class), anyString(), any(Progressable.class));
}
@Test
@@ -96,7 +97,7 @@ public class HadoopOutputFormatTest {
public void testCloseWithTaskCommit() throws Exception {
OutputFormat<String, Long> dummyOutputFormat = mock(DummyOutputFormat.class);
DummyOutputCommitter outputCommitter = mock(DummyOutputCommitter.class);
- when(outputCommitter.needsTaskCommit(any(TaskAttemptContext.class))).thenReturn(true);
+ when(outputCommitter.needsTaskCommit(nullable(TaskAttemptContext.class))).thenReturn(true);
DummyRecordWriter recordWriter = mock(DummyRecordWriter.class);
JobConf jobConf = mock(JobConf.class);
@@ -106,8 +107,8 @@ public class HadoopOutputFormatTest {
outputFormat.close();
- verify(recordWriter, times(1)).close(any(Reporter.class));
- verify(outputCommitter, times(1)).commitTask(any(TaskAttemptContext.class));
+ verify(recordWriter, times(1)).close(nullable(Reporter.class));
+ verify(outputCommitter, times(1)).commitTask(nullable(TaskAttemptContext.class));
}
@Test
diff --git a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopInputFormatTest.java b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopInputFormatTest.java
index 941eb1f..bef7235 100644
--- a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopInputFormatTest.java
+++ b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopInputFormatTest.java
@@ -43,6 +43,7 @@ import java.util.List;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
@@ -81,13 +82,13 @@ public class HadoopInputFormatTest {
@Test
public void testOpen() throws Exception {
DummyInputFormat inputFormat = mock(DummyInputFormat.class);
- when(inputFormat.createRecordReader(any(InputSplit.class), any(TaskAttemptContext.class))).thenReturn(new DummyRecordReader());
+ when(inputFormat.createRecordReader(nullable(InputSplit.class), any(TaskAttemptContext.class))).thenReturn(new DummyRecordReader());
HadoopInputSplit inputSplit = mock(HadoopInputSplit.class);
HadoopInputFormat<String, Long> hadoopInputFormat = setupHadoopInputFormat(inputFormat, Job.getInstance(), null);
hadoopInputFormat.open(inputSplit);
- verify(inputFormat, times(1)).createRecordReader(any(InputSplit.class), any(TaskAttemptContext.class));
+ verify(inputFormat, times(1)).createRecordReader(nullable(InputSplit.class), any(TaskAttemptContext.class));
assertThat(hadoopInputFormat.fetched, is(false));
}
diff --git a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopOutputFormatTest.java b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopOutputFormatTest.java
index 8e2329a..103ecf4 100644
--- a/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopOutputFormatTest.java
+++ b/flink-connectors/flink-hadoop-compatibility/src/test/java/org/apache/flink/api/java/hadoop/mapreduce/HadoopOutputFormatTest.java
@@ -33,9 +33,8 @@ import org.mockito.Mockito;
import java.io.IOException;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.anyLong;
-import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
@@ -59,7 +58,7 @@ public class HadoopOutputFormatTest {
hadoopOutputFormat.writeRecord(new Tuple2<String, Long>());
- verify(recordWriter, times(1)).write(anyString(), anyLong());
+ verify(recordWriter, times(1)).write(nullable(String.class), nullable(Long.class));
}
@Test
@@ -89,8 +88,8 @@ public class HadoopOutputFormatTest {
hadoopOutputFormat.close();
- verify(outputCommitter, times(1)).commitTask(any(TaskAttemptContext.class));
- verify(recordWriter, times(1)).close(any(TaskAttemptContext.class));
+ verify(outputCommitter, times(1)).commitTask(nullable(TaskAttemptContext.class));
+ verify(recordWriter, times(1)).close(nullable(TaskAttemptContext.class));
}
@Test
@@ -104,8 +103,8 @@ public class HadoopOutputFormatTest {
hadoopOutputFormat.close();
- verify(outputCommitter, times(0)).commitTask(any(TaskAttemptContext.class));
- verify(recordWriter, times(1)).close(any(TaskAttemptContext.class));
+ verify(outputCommitter, times(0)).commitTask(nullable(TaskAttemptContext.class));
+ verify(recordWriter, times(1)).close(nullable(TaskAttemptContext.class));
}
@Test
@@ -134,7 +133,7 @@ public class HadoopOutputFormatTest {
private OutputCommitter setupOutputCommitter(boolean needsTaskCommit) throws IOException {
OutputCommitter outputCommitter = Mockito.mock(OutputCommitter.class);
- when(outputCommitter.needsTaskCommit(any(TaskAttemptContext.class))).thenReturn(needsTaskCommit);
+ when(outputCommitter.needsTaskCommit(nullable(TaskAttemptContext.class))).thenReturn(needsTaskCommit);
doNothing().when(outputCommitter).commitTask(any(TaskAttemptContext.class));
return outputCommitter;
diff --git a/flink-core/src/test/java/org/apache/flink/util/MethodForwardingTestUtil.java b/flink-core/src/test/java/org/apache/flink/util/MethodForwardingTestUtil.java
index 8a9e8ca..64eda7f 100644
--- a/flink-core/src/test/java/org/apache/flink/util/MethodForwardingTestUtil.java
+++ b/flink-core/src/test/java/org/apache/flink/util/MethodForwardingTestUtil.java
@@ -98,8 +98,7 @@ public class MethodForwardingTestUtil {
I delegate = delegateObjectSupplier.get();
//check if we need to wrap the delegate object as a spy, or if it is already testable with Mockito.
- MockUtil mockUtil = new MockUtil();
- if (!mockUtil.isSpy(delegate) || !mockUtil.isMock(delegate)) {
+ if (!MockUtil.isSpy(delegate) || !MockUtil.isMock(delegate)) {
delegate = spy(delegate);
}
diff --git a/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroOutputFormatTest.java b/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroOutputFormatTest.java
index 3397b8e..f07c36b 100644
--- a/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroOutputFormatTest.java
+++ b/flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/AvroOutputFormatTest.java
@@ -24,6 +24,7 @@ import org.apache.flink.core.fs.Path;
import org.apache.flink.formats.avro.generated.Colors;
import org.apache.flink.formats.avro.generated.Fixed2;
import org.apache.flink.formats.avro.generated.User;
+import org.apache.flink.mock.Whitebox;
import org.apache.avro.Schema;
import org.apache.avro.file.DataFileReader;
@@ -34,7 +35,6 @@ import org.joda.time.DateTime;
import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
diff --git a/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/operator/CEPOperatorTest.java b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/operator/CEPOperatorTest.java
index 4786484..3f249a8 100644
--- a/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/operator/CEPOperatorTest.java
+++ b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/operator/CEPOperatorTest.java
@@ -35,6 +35,7 @@ import org.apache.flink.cep.pattern.Pattern;
import org.apache.flink.cep.pattern.conditions.IterativeCondition;
import org.apache.flink.cep.pattern.conditions.SimpleCondition;
import org.apache.flink.contrib.streaming.state.RocksDBStateBackend;
+import org.apache.flink.mock.Whitebox;
import org.apache.flink.runtime.checkpoint.OperatorSubtaskState;
import org.apache.flink.runtime.state.memory.MemoryStateBackend;
import org.apache.flink.streaming.api.watermark.Watermark;
@@ -53,7 +54,6 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.mockito.Mockito;
-import org.mockito.internal.util.reflection.Whitebox;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/flink-mesos/src/test/java/org/apache/flink/mesos/runtime/clusterframework/MesosResourceManagerTest.java b/flink-mesos/src/test/java/org/apache/flink/mesos/runtime/clusterframework/MesosResourceManagerTest.java
index 5163724..94bc860 100644
--- a/flink-mesos/src/test/java/org/apache/flink/mesos/runtime/clusterframework/MesosResourceManagerTest.java
+++ b/flink-mesos/src/test/java/org/apache/flink/mesos/runtime/clusterframework/MesosResourceManagerTest.java
@@ -344,7 +344,7 @@ public class MesosResourceManagerTest extends TestLogger {
doAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
- rmActions = invocation.getArgumentAt(2, ResourceActions.class);
+ rmActions = invocation.getArgument(2);
slotManagerStarted.complete(true);
return null;
}
diff --git a/flink-mesos/src/test/scala/org/apache/flink/mesos/Utils.scala b/flink-mesos/src/test/scala/org/apache/flink/mesos/Utils.scala
index bd6235a..39648e5 100644
--- a/flink-mesos/src/test/scala/org/apache/flink/mesos/Utils.scala
+++ b/flink-mesos/src/test/scala/org/apache/flink/mesos/Utils.scala
@@ -29,12 +29,9 @@ import scala.reflect.ClassTag
object Matchers {
def contentsMatch[T](plan: Seq[T]): java.util.Collection[T] = {
- org.mockito.Matchers.argThat(new ArgumentMatcher[java.util.Collection[T]] {
- override def matches(o: scala.Any): Boolean = o match {
- case actual: java.util.Collection[T] =>
+ org.mockito.ArgumentMatchers.argThat(new ArgumentMatcher[java.util.Collection[T]] {
+ def matches(actual: java.util.Collection[T]): Boolean =
actual.size() == plan.size && actual.containsAll(plan.asJava)
- case _ => false
- }
})
}
}
diff --git a/flink-mesos/src/test/scala/org/apache/flink/mesos/scheduler/LaunchCoordinatorTest.scala b/flink-mesos/src/test/scala/org/apache/flink/mesos/scheduler/LaunchCoordinatorTest.scala
index c24ba0c..a4ae2bb 100644
--- a/flink-mesos/src/test/scala/org/apache/flink/mesos/scheduler/LaunchCoordinatorTest.scala
+++ b/flink-mesos/src/test/scala/org/apache/flink/mesos/scheduler/LaunchCoordinatorTest.scala
@@ -37,7 +37,7 @@ import org.junit.runner.RunWith
import org.mockito.Mockito.{verify, _}
import org.mockito.invocation.InvocationOnMock
import org.mockito.stubbing.Answer
-import org.mockito.{Matchers => MM, Mockito}
+import org.mockito.{ArgumentMatchers => MM, Mockito}
import org.scalatest.junit.JUnitRunner
import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike}
diff --git a/flink-queryable-state/flink-queryable-state-runtime/src/test/java/org/apache/flink/queryablestate/network/KvStateClientHandlerTest.java b/flink-queryable-state/flink-queryable-state-runtime/src/test/java/org/apache/flink/queryablestate/network/KvStateClientHandlerTest.java
index cb490aa..bc228b7 100644
--- a/flink-queryable-state/flink-queryable-state-runtime/src/test/java/org/apache/flink/queryablestate/network/KvStateClientHandlerTest.java
+++ b/flink-queryable-state/flink-queryable-state-runtime/src/test/java/org/apache/flink/queryablestate/network/KvStateClientHandlerTest.java
@@ -30,6 +30,7 @@ import org.junit.Test;
import java.nio.channels.ClosedChannelException;
import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
@@ -78,7 +79,7 @@ public class KvStateClientHandlerTest {
// Verify callback
channel.writeInbound(buf);
- verify(callback, times(1)).onRequestFailure(eq(1222112278L), any(RuntimeException.class));
+ verify(callback, times(1)).onRequestFailure(eq(1222112278L), isA(RuntimeException.class));
assertEquals("Buffer not recycled", 0, buf.refCnt());
//
@@ -91,7 +92,7 @@ public class KvStateClientHandlerTest {
// Verify callback
channel.writeInbound(buf);
- verify(callback, times(1)).onFailure(any(RuntimeException.class));
+ verify(callback, times(1)).onFailure(isA(RuntimeException.class));
//
// Unexpected messages
@@ -100,20 +101,20 @@ public class KvStateClientHandlerTest {
// Verify callback
channel.writeInbound(buf);
- verify(callback, times(2)).onFailure(any(IllegalStateException.class));
+ verify(callback, times(1)).onFailure(isA(IllegalStateException.class));
assertEquals("Buffer not recycled", 0, buf.refCnt());
//
// Exception caught
//
channel.pipeline().fireExceptionCaught(new RuntimeException("Expected test Exception"));
- verify(callback, times(3)).onFailure(any(RuntimeException.class));
+ verify(callback, times(3)).onFailure(isA(RuntimeException.class));
//
// Channel inactive
//
channel.pipeline().fireChannelInactive();
- verify(callback, times(4)).onFailure(any(ClosedChannelException.class));
+ verify(callback, times(1)).onFailure(isA(ClosedChannelException.class));
}
}
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStateRestoreTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStateRestoreTest.java
index af6ec71..236717f 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStateRestoreTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointStateRestoreTest.java
@@ -39,6 +39,7 @@ import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.junit.Test;
import org.mockito.Mockito;
+import org.mockito.hamcrest.MockitoHamcrest;
import java.util.Collections;
import java.util.HashMap;
@@ -157,9 +158,9 @@ public class CheckpointStateRestoreTest {
}
};
- verify(statefulExec1, times(1)).setInitialState(Mockito.argThat(matcher));
- verify(statefulExec2, times(1)).setInitialState(Mockito.argThat(matcher));
- verify(statefulExec3, times(1)).setInitialState(Mockito.argThat(matcher));
+ verify(statefulExec1, times(1)).setInitialState(MockitoHamcrest.argThat(matcher));
+ verify(statefulExec2, times(1)).setInitialState(MockitoHamcrest.argThat(matcher));
+ verify(statefulExec3, times(1)).setInitialState(MockitoHamcrest.argThat(matcher));
verify(statelessExec1, times(0)).setInitialState(Mockito.<JobManagerTaskRestore>any());
verify(statelessExec2, times(0)).setInitialState(Mockito.<JobManagerTaskRestore>any());
}
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/PendingCheckpointTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/PendingCheckpointTest.java
index f45ac14..01f1dd1 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/PendingCheckpointTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/PendingCheckpointTest.java
@@ -51,6 +51,7 @@ import java.util.concurrent.ScheduledFuture;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Mockito.doNothing;
@@ -227,7 +228,7 @@ public class PendingCheckpointTest {
pending.setStatsCallback(callback);
pending.acknowledgeTask(ATTEMPT_ID, null, new CheckpointMetrics());
- verify(callback, times(1)).reportSubtaskStats(any(JobVertexID.class), any(SubtaskStateStats.class));
+ verify(callback, times(1)).reportSubtaskStats(nullable(JobVertexID.class), any(SubtaskStateStats.class));
pending.finalizeCheckpoint();
verify(callback, times(1)).reportCompletedCheckpoint(any(String.class));
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SpillableSubpartitionTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SpillableSubpartitionTest.java
index 57d2cd6..71dbc2b 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SpillableSubpartitionTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SpillableSubpartitionTest.java
@@ -56,7 +56,7 @@ 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.nullable;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
@@ -126,7 +126,7 @@ public class SpillableSubpartitionTest extends SubpartitionTestBase {
// Mock I/O manager returning the blocking spill writer
IOManager ioManager = mock(IOManager.class);
- when(ioManager.createBufferFileWriter(any(FileIOChannel.ID.class)))
+ when(ioManager.createBufferFileWriter(nullable(FileIOChannel.ID.class)))
.thenReturn(spillWriter);
// The partition
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/net/ConnectionUtilsTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/net/ConnectionUtilsTest.java
index d7c4baa..3f9ee8e 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/net/ConnectionUtilsTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/net/ConnectionUtilsTest.java
@@ -22,7 +22,6 @@ 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.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import java.io.IOException;
@@ -40,7 +39,6 @@ import static org.junit.Assert.assertTrue;
* Tests for the network utilities.
*/
@RunWith(PowerMockRunner.class)
-@PrepareForTest(ConnectionUtils.class)
public class ConnectionUtilsTest {
@Test
@@ -91,7 +89,6 @@ public class ConnectionUtilsTest {
final InetAddress address = ConnectionUtils.findConnectingAddress(
socketAddress, 2000, 400);
- PowerMockito.verifyStatic();
// Make sure we got an address via alternative means
assertNotNull(address);
}
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/registration/RetryingRegistrationTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/registration/RetryingRegistrationTest.java
index ff5a748..d7dbec6 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/registration/RetryingRegistrationTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/registration/RetryingRegistrationTest.java
@@ -143,9 +143,9 @@ public class RetryingRegistrationTest extends TestLogger {
when(rpc.getExecutor()).thenReturn(executor);
when(rpc.scheduleRunnable(any(Runnable.class), anyLong(), any(TimeUnit.class))).thenAnswer(
(InvocationOnMock invocation) -> {
- final Runnable runnable = invocation.getArgumentAt(0, Runnable.class);
- final long delay = invocation.getArgumentAt(1, Long.class);
- final TimeUnit timeUnit = invocation.getArgumentAt(2, TimeUnit.class);
+ final Runnable runnable = invocation.getArgument(0);
+ final long delay = invocation.getArgument(1);
+ final TimeUnit timeUnit = invocation.getArgument(2);
return TestingUtils.defaultScheduledExecutor().schedule(runnable, delay, timeUnit);
});
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/rest/handler/legacy/TaskManagerLogHandlerTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/rest/handler/legacy/TaskManagerLogHandlerTest.java
index 2b0291f..5e5cf78 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/rest/handler/legacy/TaskManagerLogHandlerTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/rest/handler/legacy/TaskManagerLogHandlerTest.java
@@ -127,7 +127,7 @@ public class TaskManagerLogHandlerTest {
when(ctx.write(isA(ByteBuf.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
- ByteBuf data = invocationOnMock.getArgumentAt(0, ByteBuf.class);
+ ByteBuf data = invocationOnMock.getArgument(0);
exception.set(new String(data.array(), ConfigConstants.DEFAULT_CHARSET));
return null;
}
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorITCase.java b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorITCase.java
index f0e0efe..31fc20c 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorITCase.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorITCase.java
@@ -77,12 +77,12 @@ import java.util.concurrent.ScheduledThreadPoolExecutor;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.RETURNS_MOCKS;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
public class TaskExecutorITCase extends TestLogger {
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorTest.java
index 168b251..cd26618 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskExecutorTest.java
@@ -106,8 +106,8 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.rules.TestName;
import org.mockito.ArgumentCaptor;
-import org.mockito.Matchers;
import org.mockito.Mockito;
+import org.mockito.hamcrest.MockitoHamcrest;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.slf4j.Logger;
@@ -901,7 +901,7 @@ public class TaskExecutorTest extends TestLogger {
// the job leader should get the allocation id offered
verify(jobMasterGateway, Mockito.timeout(timeout.toMilliseconds())).offerSlots(
any(ResourceID.class),
- (Collection<SlotOffer>)Matchers.argThat(contains(slotOffer)),
+ (Collection<SlotOffer>) MockitoHamcrest.argThat(contains(slotOffer)),
any(Time.class));
} finally {
RpcUtils.terminateRpcEndpoint(taskManager, timeout);
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/slot/TimerServiceTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/slot/TimerServiceTest.java
index 7790622..2514c62 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/slot/TimerServiceTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/slot/TimerServiceTest.java
@@ -18,11 +18,11 @@
package org.apache.flink.runtime.taskexecutor.slot;
+import org.apache.flink.mock.Whitebox;
import org.apache.flink.runtime.clusterframework.types.AllocationID;
import org.apache.flink.util.TestLogger;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService;
diff --git a/flink-runtime/src/test/scala/org/apache/flink/runtime/jobmanager/JobManagerITCase.scala b/flink-runtime/src/test/scala/org/apache/flink/runtime/jobmanager/JobManagerITCase.scala
index 3f3950b..3ffe770 100644
--- a/flink-runtime/src/test/scala/org/apache/flink/runtime/jobmanager/JobManagerITCase.scala
+++ b/flink-runtime/src/test/scala/org/apache/flink/runtime/jobmanager/JobManagerITCase.scala
@@ -37,7 +37,7 @@ import org.apache.flink.runtime.testingUtils.TestingJobManagerMessages._
import org.apache.flink.runtime.testingUtils.{ScalaTestingUtils, TestingUtils}
import org.apache.flink.runtime.testtasks._
import org.junit.runner.RunWith
-import org.mockito.Mockito
+import org.mockito.{ArgumentMatchers, Mockito}
import org.mockito.Mockito._
import org.scalatest.junit.JUnitRunner
import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike}
@@ -859,7 +859,7 @@ class JobManagerITCase(_system: ActorSystem)
val checkpointCoordinator = mock(classOf[CheckpointCoordinator])
doThrow(new IllegalStateException("Expected Test Exception"))
.when(checkpointCoordinator)
- .triggerSavepoint(org.mockito.Matchers.anyLong(), org.mockito.Matchers.anyString())
+ .triggerSavepoint(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())
// Update the savepoint coordinator field
val field = executionGraph.getClass.getDeclaredField("checkpointCoordinator")
@@ -915,11 +915,11 @@ class JobManagerITCase(_system: ActorSystem)
val checkpointCoordinator = mock(classOf[CheckpointCoordinator])
doThrow(new IllegalStateException("Expected Test Exception"))
.when(checkpointCoordinator)
- .triggerSavepoint(org.mockito.Matchers.anyLong(), org.mockito.Matchers.anyString())
+ .triggerSavepoint(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())
val savepointPathPromise = new CompletableFuture[CompletedCheckpoint]()
- doReturn(savepointPathPromise)
+ doReturn(savepointPathPromise, Nil: _*)
.when(checkpointCoordinator)
- .triggerSavepoint(org.mockito.Matchers.anyLong(), org.mockito.Matchers.anyString())
+ .triggerSavepoint(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())
// Request the execution graph and set a checkpoint coordinator mock
jobManager.tell(RequestExecutionGraph(jobGraph.getJobID), testActor)
@@ -984,12 +984,12 @@ class JobManagerITCase(_system: ActorSystem)
val checkpointCoordinator = mock(classOf[CheckpointCoordinator])
doThrow(new IllegalStateException("Expected Test Exception"))
.when(checkpointCoordinator)
- .triggerSavepoint(org.mockito.Matchers.anyLong(), org.mockito.Matchers.anyString())
+ .triggerSavepoint(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())
val savepointPromise = new CompletableFuture[CompletedCheckpoint]()
- doReturn(savepointPromise)
+ doReturn(savepointPromise, Nil: _*)
.when(checkpointCoordinator)
- .triggerSavepoint(org.mockito.Matchers.anyLong(), org.mockito.Matchers.anyString())
+ .triggerSavepoint(ArgumentMatchers.anyLong(), ArgumentMatchers.anyString())
// Request the execution graph and set a checkpoint coordinator mock
jobManager.tell(RequestExecutionGraph(jobGraph.getJobID), testActor)
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/AbstractStreamOperatorTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/AbstractStreamOperatorTest.java
index f0195a2..64375d5 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/AbstractStreamOperatorTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/AbstractStreamOperatorTest.java
@@ -24,6 +24,7 @@ import org.apache.flink.api.common.typeutils.base.StringSerializer;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.core.fs.CloseableRegistry;
+import org.apache.flink.mock.Whitebox;
import org.apache.flink.runtime.checkpoint.CheckpointOptions;
import org.apache.flink.runtime.checkpoint.OperatorSubtaskState;
import org.apache.flink.runtime.state.AbstractKeyedStateBackend;
@@ -46,7 +47,6 @@ import org.apache.flink.streaming.util.OneInputStreamOperatorTestHarness;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.internal.util.reflection.Whitebox;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@@ -61,6 +61,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Matchers.anyLong;
@@ -579,7 +580,14 @@ public class AbstractStreamOperatorTest {
OperatorSnapshotFutures operatorSnapshotResult = spy(new OperatorSnapshotFutures());
- whenNew(StateSnapshotContextSynchronousImpl.class).withAnyArguments().thenReturn(context);
+ whenNew(StateSnapshotContextSynchronousImpl.class)
+ .withArguments(
+ anyLong(),
+ anyLong(),
+ any(CheckpointStreamFactory.class),
+ nullable(KeyGroupRange.class),
+ any(CloseableRegistry.class))
+ .thenReturn(context);
whenNew(OperatorSnapshotFutures.class).withAnyArguments().thenReturn(operatorSnapshotResult);
StreamTask<Void, AbstractStreamOperator<Void>> containingTask = mock(StreamTask.class);
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/windowing/functions/InternalWindowFunctionTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/windowing/functions/InternalWindowFunctionTest.java
index dc5b24c..b6f9940 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/windowing/functions/InternalWindowFunctionTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/api/operators/windowing/functions/InternalWindowFunctionTest.java
@@ -61,11 +61,11 @@ import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.collection.IsMapContaining.hasEntry;
import static org.hamcrest.core.AllOf.allOf;
import static org.mockito.Mockito.anyObject;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for {@link InternalWindowFunction}.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferAlignmentLimitTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferAlignmentLimitTest.java
index 9f46ed7..1c7ff35 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferAlignmentLimitTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferAlignmentLimitTest.java
@@ -49,11 +49,11 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for the barrier buffer's maximum limit of buffered/spilled bytes.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferTestBase.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferTestBase.java
index b2ed781..0be5b08 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferTestBase.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/io/BarrierBufferTestBase.java
@@ -25,6 +25,7 @@ import org.apache.flink.runtime.checkpoint.CheckpointMetrics;
import org.apache.flink.runtime.checkpoint.CheckpointOptions;
import org.apache.flink.runtime.checkpoint.decline.CheckpointDeclineOnCancellationBarrierException;
import org.apache.flink.runtime.checkpoint.decline.CheckpointDeclineSubsumedException;
+import org.apache.flink.runtime.checkpoint.decline.InputEndOfStreamException;
import org.apache.flink.runtime.io.network.api.CancelCheckpointMarker;
import org.apache.flink.runtime.io.network.api.CheckpointBarrier;
import org.apache.flink.runtime.io.network.api.EndOfPartitionEvent;
@@ -48,13 +49,14 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for the behavior of the {@link BarrierBuffer} with different {@link BufferBlocker} implements.
@@ -523,7 +525,7 @@ public abstract class BarrierBufferTestBase {
check(sequence[12], buffer.getNextNonBlocked(), PAGE_SIZE);
assertEquals(3L, buffer.getCurrentCheckpointId());
validateAlignmentTime(startTs, buffer.getAlignmentDurationNanos());
- verify(toNotify).abortCheckpointOnBarrier(eq(2L), any(CheckpointDeclineSubsumedException.class));
+ verify(toNotify).abortCheckpointOnBarrier(eq(2L), isA(CheckpointDeclineSubsumedException.class));
check(sequence[16], buffer.getNextNonBlocked(), PAGE_SIZE);
// checkpoint 3 alignment in progress
@@ -531,7 +533,7 @@ public abstract class BarrierBufferTestBase {
// checkpoint 3 aborted (end of partition)
check(sequence[20], buffer.getNextNonBlocked(), PAGE_SIZE);
- verify(toNotify).abortCheckpointOnBarrier(eq(3L), any(CheckpointDeclineSubsumedException.class));
+ verify(toNotify).abortCheckpointOnBarrier(eq(3L), isA(InputEndOfStreamException.class));
// replay buffered data from checkpoint 3
check(sequence[18], buffer.getNextNonBlocked(), PAGE_SIZE);
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicEventTimeSessionWindowsTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicEventTimeSessionWindowsTest.java
index d048dad..b9b56f6 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicEventTimeSessionWindowsTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicEventTimeSessionWindowsTest.java
@@ -46,13 +46,13 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyCollection;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
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.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for {@link DynamicEventTimeSessionWindows}.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicProcessingTimeSessionWindowsTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicProcessingTimeSessionWindowsTest.java
index a6bcedc..22b815c 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicProcessingTimeSessionWindowsTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/DynamicProcessingTimeSessionWindowsTest.java
@@ -46,13 +46,13 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyCollection;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
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.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for {@link DynamicProcessingTimeSessionWindows}.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/EventTimeSessionWindowsTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/EventTimeSessionWindowsTest.java
index 7d96a1f..bd8d108 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/EventTimeSessionWindowsTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/EventTimeSessionWindowsTest.java
@@ -48,12 +48,12 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.anyCollection;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for {@link EventTimeSessionWindows}.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/ProcessingTimeSessionWindowsTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/ProcessingTimeSessionWindowsTest.java
index 5faca94..16c639a 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/ProcessingTimeSessionWindowsTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/ProcessingTimeSessionWindowsTest.java
@@ -48,13 +48,13 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.anyCollection;
-import static org.mockito.Mockito.argThat;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.mock;
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.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Tests for {@link ProcessingTimeSessionWindows}.
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorContractTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorContractTest.java
index 8dee3b0..e065e79 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorContractTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorContractTest.java
@@ -71,7 +71,6 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.anyCollection;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
@@ -80,6 +79,7 @@ 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.mockito.hamcrest.MockitoHamcrest.argThat;
/**
* Base for window operator tests that verify correct interaction with the other windowing
@@ -573,7 +573,7 @@ public abstract class WindowOperatorContractTest extends TestLogger {
@Override
public Void answer(InvocationOnMock invocation) throws Exception {
@SuppressWarnings("unchecked")
- Collector<String> out = invocation.getArgumentAt(4, Collector.class);
+ Collector<String> out = invocation.getArgument(4);
out.collect("Hallo");
out.collect("Ciao");
return null;
@@ -616,7 +616,7 @@ public abstract class WindowOperatorContractTest extends TestLogger {
@Override
public Void answer(InvocationOnMock invocation) throws Exception {
@SuppressWarnings("unchecked")
- Collector<String> out = invocation.getArgumentAt(4, Collector.class);
+ Collector<String> out = invocation.getArgument(4);
out.collect("Hallo");
out.collect("Ciao");
return null;
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorTest.java
index 4c28e40..7a0cbaa 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperatorTest.java
@@ -1232,16 +1232,16 @@ public class WindowOperatorTest extends TestLogger {
Tuple2<String, Integer> element = (Tuple2<String, Integer>) invocation.getArguments()[0];
switch (element.f0) {
case "key1":
- return 3000;
+ return 3000L;
case "key2":
switch (element.f1) {
case 10:
- return 1000;
+ return 1000L;
default:
- return 2000;
+ return 2000L;
}
default:
- return 0;
+ return 0L;
}
});
@@ -1314,16 +1314,16 @@ public class WindowOperatorTest extends TestLogger {
Tuple2<String, Integer> element = (Tuple2<String, Integer>) invocation.getArguments()[0];
switch (element.f0) {
case "key1":
- return 3000;
+ return 3000L;
case "key2":
switch (element.f1) {
case 10:
- return 1000;
+ return 1000L;
default:
- return 2000;
+ return 2000L;
}
default:
- return 0;
+ return 0L;
}
});
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java
index 6a9dda4..a94f8ac 100644
--- a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java
@@ -28,6 +28,7 @@ import org.apache.flink.configuration.CheckpointingOptions;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.core.fs.CloseableRegistry;
import org.apache.flink.core.testutils.OneShotLatch;
+import org.apache.flink.mock.Whitebox;
import org.apache.flink.runtime.blob.BlobCacheService;
import org.apache.flink.runtime.blob.PermanentBlobCache;
import org.apache.flink.runtime.blob.TransientBlobCache;
@@ -116,7 +117,6 @@ import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
-import org.mockito.internal.util.reflection.Whitebox;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
@@ -152,6 +152,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.anyString;
@@ -700,7 +701,7 @@ public class StreamTaskTest extends TestLogger {
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
- SubtaskState subtaskState = invocation.getArgumentAt(4, SubtaskState.class);
+ SubtaskState subtaskState = invocation.getArgument(4);
checkpointResult.add(subtaskState);
checkpointCompletedLatch.trigger();
return null;
@@ -710,7 +711,7 @@ public class StreamTaskTest extends TestLogger {
any(ExecutionAttemptID.class),
anyLong(),
any(CheckpointMetrics.class),
- any(TaskStateSnapshot.class));
+ nullable(TaskStateSnapshot.class));
TaskStateManager taskStateManager = new TaskStateManagerImpl(
new JobID(1L, 2L),
diff --git a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/mock/Whitebox.java b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/mock/Whitebox.java
new file mode 100644
index 0000000..e5a13ad
--- /dev/null
+++ b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/mock/Whitebox.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.mock;
+
+import java.lang.reflect.Field;
+
+/**
+ * Copied from mockito.
+ *
+ * <p>Original license:
+ * Copyright (c) 2007 Mockito contributors
+ * This program is made available under the terms of the MIT License.
+ */
+public class Whitebox {
+ public static Object getInternalState(Object target, String field) {
+ Class<?> c = target.getClass();
+ try {
+ Field f = getFieldFromHierarchy(c, field);
+ f.setAccessible(true);
+ return f.get(target);
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to set internal state on a private field. Please report to mockito mailing list.", e);
+ }
+ }
+
+ public static void setInternalState(Object target, String field, Object value) {
+ Class<?> c = target.getClass();
+ try {
+ Field f = getFieldFromHierarchy(c, field);
+ f.setAccessible(true);
+ f.set(target, value);
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to set internal state on a private field. Please report to mockito mailing list.", e);
+ }
+ }
+
+ private static Field getFieldFromHierarchy(Class<?> clazz, String field) {
+ Field f = getField(clazz, field);
+ while (f == null && clazz != Object.class) {
+ clazz = clazz.getSuperclass();
+ f = getField(clazz, field);
+ }
+ if (f == null) {
+ throw new RuntimeException(
+ "You want me to set value to this field: '" + field +
+ "' on this class: '" + clazz.getSimpleName() +
+ "' but this field is not declared withing hierarchy of this class!");
+ }
+ return f;
+ }
+
+ private static Field getField(Class<?> clazz, String field) {
+ try {
+ return clazz.getDeclaredField(field);
+ } catch (NoSuchFieldException e) {
+ return null;
+ }
+ }
+}
diff --git a/pom.xml b/pom.xml
index a8dd5c3..7709493 100644
--- a/pom.xml
+++ b/pom.xml
@@ -123,8 +123,8 @@ under the License.
<prometheus.version>0.3.0</prometheus.version>
<avro.version>1.8.2</avro.version>
<junit.version>4.12</junit.version>
- <mockito.version>1.10.19</mockito.version>
- <powermock.version>1.6.5</powermock.version>
+ <mockito.version>2.21.0</mockito.version>
+ <powermock.version>2.0.0-beta.5</powermock.version>
<hamcrest.version>1.3</hamcrest.version>
<japicmp.skip>false</japicmp.skip>
<codebase>new</codebase>
@@ -171,7 +171,7 @@ under the License.
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
+ <artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<type>jar</type>
<scope>test</scope>
@@ -187,10 +187,16 @@ under the License.
<dependency>
<groupId>org.powermock</groupId>
- <artifactId>powermock-api-mockito</artifactId>
+ <artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<type>jar</type>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -319,6 +325,20 @@ under the License.
<version>${hamcrest.version}</version>
</dependency>
+ <dependency>
+ <!-- mockito/powermock mismatch -->
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>1.8.15</version>
+ </dependency>
+
+ <dependency>
+ <!-- mockito/powermock mismatch -->
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy-agent</artifactId>
+ <version>1.8.15</version>
+ </dependency>
+
<!-- For dependency convergence -->
<dependency>
<groupId>org.objenesis</groupId>