[STORM-3906] Remove org.mockito.internal.util.reflection.FieldSetter and upgrade mockito to 3.11.2 (#3531)
diff --git a/DEPENDENCY-LICENSES b/DEPENDENCY-LICENSES
index 06f0d98..2da62ef 100644
--- a/DEPENDENCY-LICENSES
+++ b/DEPENDENCY-LICENSES
@@ -440,7 +440,7 @@
* Nimbus JOSE+JWT (com.nimbusds:nimbus-jose-jwt:7.9 - https://bitbucket.org/connect2id/nimbus-jose-jwt)
* Noggit (org.noggit:noggit:0.6 - http://github.com/yonik/noggit)
* Objenesis (org.objenesis:objenesis:2.5.1 - http://objenesis.org)
- * Objenesis (org.objenesis:objenesis:2.6 - http://objenesis.org)
+ * Objenesis (org.objenesis:objenesis:3.2 - http://objenesis.org/objenesis)
* OkHttp (com.squareup.okhttp:okhttp:2.7.5 - https://github.com/square/okhttp/okhttp)
* Okio (com.squareup.okio:okio:1.6.0 - https://github.com/square/okio/okio)
* opencsv (net.sf.opencsv:opencsv:2.3 - http://opencsv.sf.net)
diff --git a/pom.xml b/pom.xml
index 7637240..09060a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -312,7 +312,7 @@
<log4j.version>2.17.1</log4j.version>
<slf4j.version>1.7.36</slf4j.version>
<metrics.version>3.2.6</metrics.version>
- <mockito.version>3.0.0</mockito.version>
+ <mockito.version>3.11.2</mockito.version>
<zookeeper.version>3.5.9</zookeeper.version>
<jline.version>0.9.94</jline.version>
<hive.version>2.3.9</hive.version>
diff --git a/storm-client/test/jvm/org/apache/storm/executor/ExecutorTransferMultiThreadingTest.java b/storm-client/test/jvm/org/apache/storm/executor/ExecutorTransferMultiThreadingTest.java
index 8f38f82..279864b 100644
--- a/storm-client/test/jvm/org/apache/storm/executor/ExecutorTransferMultiThreadingTest.java
+++ b/storm-client/test/jvm/org/apache/storm/executor/ExecutorTransferMultiThreadingTest.java
@@ -12,6 +12,7 @@
package org.apache.storm.executor;
+import java.lang.reflect.Field;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -40,7 +41,6 @@
import org.apache.storm.utils.Utils;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.mockito.internal.util.reflection.FieldSetter;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
@@ -70,7 +70,7 @@
private static final int value2 = 1234;
@BeforeEach
- public void setup() throws NoSuchFieldException {
+ public void setup() throws NoSuchFieldException, IllegalAccessException {
topoConf = Utils.readStormConfig();
String topologyId = "multi-threaded-topo-test";
StormTopology stormTopology = createStormTopology();
@@ -101,12 +101,18 @@
//Replace the transferQueue inside WorkerTransfer (inside WorkerState) with the customized transferQueue to be used in this test
WorkerTransfer workerTransfer = new WorkerTransfer(workerState, topoConf, 2);
- FieldSetter.setField(workerTransfer, workerTransfer.getClass().getDeclaredField("transferQueue"), transferQueue);
- FieldSetter.setField(workerState, workerState.getClass().getDeclaredField("workerTransfer"), workerTransfer);
+ setPrivateField(workerTransfer, "transferQueue", transferQueue);
+ setPrivateField(workerState, "workerTransfer", workerTransfer);
generalTopologyContext = mock(GeneralTopologyContext.class);
}
+ private void setPrivateField(Object target, String fieldName, Object fieldValue) throws NoSuchFieldException, IllegalAccessException {
+ Field privateField = target.getClass().getDeclaredField(fieldName);
+ privateField.setAccessible(true);
+ privateField.set(target, fieldValue);
+ }
+
@Test
public void testExecutorTransfer() throws InterruptedException {
//There is one ExecutorTransfer per executor