You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/12/23 00:53:49 UTC
[shardingsphere] branch master updated: Use Plugins.getMemberAccessor() instead of field reflect on test cases (#23046)
This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 6e5f96442ae Use Plugins.getMemberAccessor() instead of field reflect on test cases (#23046)
6e5f96442ae is described below
commit 6e5f96442aeee6ced1c98a2cd3317fc61fd1450d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Dec 23 08:53:43 2022 +0800
Use Plugins.getMemberAccessor() instead of field reflect on test cases (#23046)
---
.../loader/PluginConfigurationLoaderTest.java | 6 +--
.../AbstractJDBCExecutorCallbackAdviceTest.java | 9 ++--
.../jaeger/JaegerTracingPluginBootServiceTest.java | 6 +--
.../tracing/jaeger/collector/JaegerCollector.java | 7 ++--
.../advice/CommandExecutorTaskAdviceTest.java | 7 ++--
.../advice/JDBCExecutorCallbackAdviceTest.java | 5 +--
.../advice/SQLParserEngineAdviceTest.java | 7 ++--
.../zipkin/ZipkinTracingPluginBootServiceTest.java | 4 +-
.../token/EncryptTokenGenerateBuilderTest.java | 6 ++-
...icaWeightReadQueryLoadBalanceAlgorithmTest.java | 5 ++-
...ionWeightReadQueryLoadBalanceAlgorithmTest.java | 5 ++-
.../keygen/SnowflakeKeyGenerateAlgorithmTest.java | 15 ++++---
.../pojo/ShardingTokenGenerateBuilderTest.java | 4 +-
.../type/DBCPDataSourcePoolCreatorTest.java | 6 +--
.../engine/ExecutorExceptionHandlerTest.java | 4 +-
.../engine/jdbc/JDBCExecutorCallbackTest.java | 6 +--
.../parser/cache/SQLStatementCacheLoaderTest.java | 4 +-
.../token/generator/SQLTokenGeneratorsTest.java | 10 ++---
.../spi/type/ordered/OrderedSPIRegistryTest.java | 6 +--
.../ordered/cache/OrderedServicesCacheTest.java | 6 +--
.../api/ShardingSphereDataSourceFactoryTest.java | 4 +-
.../YamlShardingSphereDataSourceFactoryTest.java | 6 +--
.../batch/BatchPreparedStatementExecutorTest.java | 10 ++---
.../driver/jdbc/adapter/StatementAdapterTest.java | 6 +--
.../connection/ShardingSphereConnectionTest.java | 4 +-
.../datasource/ShardingSphereDataSourceTest.java | 4 +-
.../memory/MemoryPipelineChannelCreatorTest.java | 6 +--
.../mysql/ingest/client/MySQLClientTest.java | 49 +++++++++++-----------
.../netty/MySQLBinlogEventPacketDecoderTest.java | 4 +-
.../client/netty/MySQLNegotiateHandlerTest.java | 11 +++--
.../netty/MySQLNegotiatePackageDecoderTest.java | 10 ++---
.../postgresql/ingest/PostgreSQLWALDumperTest.java | 6 +--
...eataATShardingSphereTransactionManagerTest.java | 21 +++++-----
.../xa/XAShardingSphereTransactionManagerTest.java | 10 ++---
.../AtomikosTransactionManagerProviderTest.java | 8 ++--
.../BitronixXATransactionManagerProviderTest.java | 6 +--
.../DataSourceXAResourceRecoveryHelperTest.java | 6 +--
.../NarayanaXATransactionManagerProviderTest.java | 10 ++---
.../persist/MetaDataPersistServiceTest.java | 4 +-
.../SchemaMetaDataRegistrySubscriberTest.java | 4 +-
.../ProcessListChangedSubscriberTest.java | 10 ++---
.../cluster/zookeeper/ZookeeperRepositoryTest.java | 14 +++----
.../jdbc/DatabaseCommunicationEngineTest.java | 5 +--
.../jdbc/connection/BackendConnectionTest.java | 36 ++++++++--------
.../jdbc/connection/MockConnectionUtil.java | 6 +--
.../transaction/BackendTransactionManagerTest.java | 4 +-
.../executor/ShowProcessListExecutorTest.java | 8 ++--
.../OpenGaussAdminExecutorFactoryTest.java | 6 +--
.../impl/UnicastDatabaseBackendHandlerTest.java | 7 ++--
.../ImportDatabaseConfigurationHandlerTest.java | 25 +++++------
.../AlterStorageUnitBackendHandlerTest.java | 6 +--
.../RegisterStorageUnitBackendHandlerTest.java | 4 +-
.../TransactionBackendHandlerFactoryTest.java | 8 ++--
.../connection/ConnectionIdGeneratorTest.java | 4 +-
.../netty/FrontendChannelInboundHandlerTest.java | 6 +--
.../frontend/state/impl/OKProxyStateTest.java | 8 ++--
.../frontend/mysql/MySQLFrontendEngineTest.java | 10 ++---
.../MySQLAuthenticationEngineTest.java | 26 ++++++------
.../MySQLAuthenticationHandlerTest.java | 10 ++---
.../opengauss/OpenGaussFrontendEngineTest.java | 6 +--
.../OpenGaussAuthenticationEngineTest.java | 19 ++++-----
.../OpenGaussCommandExecutorFactoryTest.java | 6 +--
.../simple/OpenGaussComQueryExecutorTest.java | 6 +--
.../err/OpenGaussErrorPacketFactoryTest.java | 6 +--
.../postgresql/PostgreSQLFrontendEngineTest.java | 5 ++-
.../PostgreSQLAuthenticationEngineTest.java | 10 ++---
.../PostgreSQLCommandExecutorFactoryTest.java | 6 +--
.../PostgreSQLBatchedStatementsExecutorTest.java | 7 ++--
.../PostgreSQLComDescribeExecutorTest.java | 10 ++---
.../parse/PostgreSQLComParseExecutorTest.java | 6 +--
.../simple/PostgreSQLComQueryExecutorTest.java | 6 +--
.../err/PostgreSQLErrPacketFactoryTest.java | 14 +++----
.../sql/parser/api/SQLParserEngineTest.java | 8 ++--
.../database/cache/ParseTreeCacheLoaderTest.java | 6 +--
.../framework/runner/param/RunnerParameters.java | 6 +--
...MatchDataConsistencyCalculateAlgorithmTest.java | 10 ++---
.../DefaultPipelineDataSourceManagerTest.java | 6 +--
.../pipeline/core/execute/ExecuteEngineTest.java | 6 +--
.../ingest/channel/memory/ManualBitSetTest.java | 4 +-
.../core/prepare/InventoryTaskSplitterTest.java | 18 ++++----
.../pipeline/core/util/PipelineContextUtil.java | 6 +--
.../util/PipelineDistributedBarrierImplTest.java | 6 +--
82 files changed, 349 insertions(+), 354 deletions(-)
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java
index fed9015d759..01780be94c2 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/config/loader/PluginConfigurationLoaderTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.agent.core.config.loader;
import org.apache.shardingsphere.agent.core.path.AgentPathBuilder;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.io.File;
import java.io.IOException;
@@ -34,8 +34,8 @@ public final class PluginConfigurationLoaderTest {
private static final String DEFAULT_CONFIG_PATH = "/conf/agent.yaml";
@Test
- public void assertLoad() throws IOException, NoSuchFieldException {
- new InstanceField(AgentPathBuilder.class.getDeclaredField("agentPath"), AgentPathBuilder.class).set(new File(getResourceUrl()));
+ public void assertLoad() throws IOException, ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(AgentPathBuilder.class.getDeclaredField("agentPath"), AgentPathBuilder.class, new File(getResourceUrl()));
assertNotNull(PluginConfigurationLoader.load());
}
diff --git a/agent/plugins/tracing/test/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/advice/AbstractJDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/test/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/advice/AbstractJDBCExecutorCallbackAdviceTest.java
index d4c07894bc1..aecc9faaa51 100644
--- a/agent/plugins/tracing/test/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/advice/AbstractJDBCExecutorCallbackAdviceTest.java
+++ b/agent/plugins/tracing/test/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/advice/AbstractJDBCExecutorCallbackAdviceTest.java
@@ -30,8 +30,7 @@ import org.apache.shardingsphere.infra.executor.sql.context.SQLUnit;
import org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutionUnit;
import org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.JDBCExecutorCallback;
import org.junit.runner.RunWith;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -82,12 +81,12 @@ public abstract class AbstractJDBCExecutorCallbackAdviceTest implements AdviceTe
return invocation.callRealMethod();
}
});
- Map<String, DataSourceMetaData> cachedDatasourceMetaData =
- (Map<String, DataSourceMetaData>) new FieldReader(mockedJDBCExecutorCallback, JDBCExecutorCallback.class.getDeclaredField("CACHED_DATASOURCE_METADATA")).read();
+ Map<String, DataSourceMetaData> cachedDatasourceMetaData = (Map<String, DataSourceMetaData>) Plugins.getMemberAccessor()
+ .get(JDBCExecutorCallback.class.getDeclaredField("CACHED_DATASOURCE_METADATA"), mockedJDBCExecutorCallback);
cachedDatasourceMetaData.put("mock_url", new MockDataSourceMetaData());
Map<String, DatabaseType> storageTypes = new LinkedHashMap<>(1, 1);
storageTypes.put("mock.db", new MySQLDatabaseType());
- new InstanceField(JDBCExecutorCallback.class.getDeclaredField("storageTypes"), mockedJDBCExecutorCallback).set(storageTypes);
+ Plugins.getMemberAccessor().set(JDBCExecutorCallback.class.getDeclaredField("storageTypes"), mockedJDBCExecutorCallback, storageTypes);
targetObject = (TargetAdviceObject) mockedJDBCExecutorCallback;
}
}
diff --git a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
index 4ecff6d11a0..3de061e5526 100644
--- a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/JaegerTracingPluginBootServiceTest.java
@@ -22,7 +22,7 @@ import io.opentracing.util.GlobalTracer;
import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Properties;
@@ -33,9 +33,9 @@ public final class JaegerTracingPluginBootServiceTest {
private final JaegerTracingPluginBootService pluginBootService = new JaegerTracingPluginBootService();
@After
- public void close() throws NoSuchFieldException {
+ public void close() throws ReflectiveOperationException {
pluginBootService.close();
- new InstanceField(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.class).set(NoopTracerFactory.create());
+ Plugins.getMemberAccessor().set(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.class, NoopTracerFactory.create());
}
@Test
diff --git a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
index 024623b5aab..e298a58bdde 100644
--- a/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
+++ b/agent/plugins/tracing/type/jaeger/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/jaeger/collector/JaegerCollector.java
@@ -23,11 +23,11 @@ import io.opentracing.util.GlobalTracer;
import lombok.SneakyThrows;
import org.apache.shardingsphere.agent.plugin.tracing.rule.CollectorRule;
import org.junit.rules.ExternalResource;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.List;
-public class JaegerCollector extends ExternalResource implements CollectorRule {
+public final class JaegerCollector extends ExternalResource implements CollectorRule {
private MockTracer tracer;
@@ -37,8 +37,7 @@ public class JaegerCollector extends ExternalResource implements CollectorRule {
if (!GlobalTracer.isRegistered()) {
GlobalTracer.register(new MockTracer());
}
- FieldReader fieldReader = new FieldReader(GlobalTracer.get(), GlobalTracer.class.getDeclaredField("tracer"));
- tracer = (MockTracer) fieldReader.read();
+ tracer = (MockTracer) Plugins.getMemberAccessor().get(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.get());
}
/**
diff --git a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
index 102553ba735..c675344b384 100644
--- a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
+++ b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/CommandExecutorTaskAdviceTest.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -36,8 +36,8 @@ import java.util.List;
import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
public final class CommandExecutorTaskAdviceTest {
@@ -53,8 +53,7 @@ public final class CommandExecutorTaskAdviceTest {
if (!GlobalTracer.isRegistered()) {
GlobalTracer.register(new MockTracer());
}
- FieldReader fieldReader = new FieldReader(GlobalTracer.get(), GlobalTracer.class.getDeclaredField("tracer"));
- tracer = (MockTracer) fieldReader.read();
+ tracer = (MockTracer) Plugins.getMemberAccessor().get(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.get());
executeCommandMethod = CommandExecutorTask.class.getDeclaredMethod("executeCommand", ChannelHandlerContext.class, PacketPayload.class);
}
diff --git a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
index 1c0cec079ed..92d48e4dbac 100644
--- a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
+++ b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/JDBCExecutorCallbackAdviceTest.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.J
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -56,8 +56,7 @@ public final class JDBCExecutorCallbackAdviceTest {
if (!GlobalTracer.isRegistered()) {
GlobalTracer.register(new MockTracer());
}
- FieldReader fieldReader = new FieldReader(GlobalTracer.get(), GlobalTracer.class.getDeclaredField("tracer"));
- tracer = (MockTracer) fieldReader.read();
+ tracer = (MockTracer) Plugins.getMemberAccessor().get(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.get());
executeMethod = JDBCExecutorCallback.class.getDeclaredMethod("execute", JDBCExecutionUnit.class, boolean.class, Map.class);
}
diff --git a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
index 301fa169b19..9473b6c0b6f 100644
--- a/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
+++ b/agent/plugins/tracing/type/opentracing/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/opentracing/advice/SQLParserEngineAdviceTest.java
@@ -26,7 +26,7 @@ import org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -46,12 +46,11 @@ public final class SQLParserEngineAdviceTest {
private static Method parserMethod;
@BeforeClass
- public static void setup() throws NoSuchMethodException, NoSuchFieldException {
+ public static void setup() throws ReflectiveOperationException {
if (!GlobalTracer.isRegistered()) {
GlobalTracer.register(new MockTracer());
}
- FieldReader fieldReader = new FieldReader(GlobalTracer.get(), GlobalTracer.class.getDeclaredField("tracer"));
- tracer = (MockTracer) fieldReader.read();
+ tracer = (MockTracer) Plugins.getMemberAccessor().get(GlobalTracer.class.getDeclaredField("tracer"), GlobalTracer.get());
parserMethod = ShardingSphereSQLParserEngine.class.getDeclaredMethod("parse", String.class, boolean.class);
}
diff --git a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
index 4069dc06ddd..d81566ce51e 100644
--- a/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
+++ b/agent/plugins/tracing/type/zipkin/src/test/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/ZipkinTracingPluginBootServiceTest.java
@@ -21,7 +21,7 @@ import brave.Tracing;
import org.apache.shardingsphere.agent.config.plugin.PluginConfiguration;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Properties;
@@ -39,7 +39,7 @@ public final class ZipkinTracingPluginBootServiceTest {
@Test
public void assertStart() throws ReflectiveOperationException {
pluginBootService.start(new PluginConfiguration("localhost", 9441, "", new Properties()), true);
- Tracing tracing = (Tracing) new FieldReader(pluginBootService, ZipkinTracingPluginBootService.class.getDeclaredField("tracing")).read();
+ Tracing tracing = (Tracing) Plugins.getMemberAccessor().get(ZipkinTracingPluginBootService.class.getDeclaredField("tracing"), pluginBootService);
assertNotNull(tracing.tracer());
}
}
diff --git a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
index 9d94687ad82..6e6ff8b1821 100644
--- a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
+++ b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/EncryptTokenGenerateBuilderTest.java
@@ -17,6 +17,7 @@
package org.apache.shardingsphere.encrypt.rewrite.token;
+import lombok.SneakyThrows;
import org.apache.shardingsphere.encrypt.rewrite.aware.EncryptRuleAware;
import org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptOrderByItemTokenGenerator;
import org.apache.shardingsphere.encrypt.rewrite.token.generator.EncryptProjectionTokenGenerator;
@@ -30,7 +31,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.lang.reflect.Field;
@@ -83,8 +84,9 @@ public final class EncryptTokenGenerateBuilderTest {
}
}
+ @SneakyThrows(ReflectiveOperationException.class)
private void assertField(final SQLTokenGenerator sqlTokenGenerator, final Object filedInstance, final String fieldName) {
- assertThat(new FieldReader(sqlTokenGenerator, findField(sqlTokenGenerator.getClass(), fieldName, filedInstance.getClass())).read(), is(filedInstance));
+ assertThat(Plugins.getMemberAccessor().get(findField(sqlTokenGenerator.getClass(), fieldName, filedInstance.getClass()), sqlTokenGenerator), is(filedInstance));
}
private Field findField(final Class<?> clazz, final String fieldName, final Class<?> fieldType) {
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/FixedReplicaWeightReadQueryLoadBalanceAlgorithmTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/FixedReplicaWeightReadQueryLoadBalanceAlgorithmTest.java
index d7a0c5f59c3..7775adb13f1 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/FixedReplicaWeightReadQueryLoadBalanceAlgorithmTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/FixedReplicaWeightReadQueryLoadBalanceAlgorithmTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.readwritesplitting.factory.ReadQueryLoadBalance
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Arrays;
import java.util.Collections;
@@ -41,7 +41,8 @@ public final class FixedReplicaWeightReadQueryLoadBalanceAlgorithmTest {
@Before
@After
public void reset() throws NoSuchFieldException, IllegalAccessException {
- ((Map<?, ?>) new FieldReader(FixedReplicaWeightReadQueryLoadBalanceAlgorithm.class, FixedReplicaWeightReadQueryLoadBalanceAlgorithm.class.getDeclaredField("WEIGHT_MAP")).read()).clear();
+ ((Map<?, ?>) Plugins.getMemberAccessor().get(
+ FixedReplicaWeightReadQueryLoadBalanceAlgorithm.class.getDeclaredField("WEIGHT_MAP"), FixedReplicaWeightReadQueryLoadBalanceAlgorithm.class)).clear();
}
@Test
diff --git a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/TransactionWeightReadQueryLoadBalanceAlgorithmTest.java b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/TransactionWeightReadQueryLoadBalanceAlgorithmTest.java
index 392fccf12e6..acfe7767f4b 100644
--- a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/TransactionWeightReadQueryLoadBalanceAlgorithmTest.java
+++ b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/algorithm/loadbalance/TransactionWeightReadQueryLoadBalanceAlgorithmTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.readwritesplitting.factory.ReadQueryLoadBalance
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Arrays;
import java.util.Collections;
@@ -41,7 +41,8 @@ public final class TransactionWeightReadQueryLoadBalanceAlgorithmTest {
@Before
@After
public void reset() throws NoSuchFieldException, IllegalAccessException {
- ((Map<?, ?>) new FieldReader(TransactionWeightReadQueryLoadBalanceAlgorithm.class, TransactionWeightReadQueryLoadBalanceAlgorithm.class.getDeclaredField("WEIGHT_MAP")).read()).clear();
+ ((Map<?, ?>) Plugins.getMemberAccessor()
+ .get(TransactionWeightReadQueryLoadBalanceAlgorithm.class.getDeclaredField("WEIGHT_MAP"), TransactionWeightReadQueryLoadBalanceAlgorithm.class)).clear();
}
@Test
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
index 67f929ba349..494c1b13467 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/algorithm/keygen/SnowflakeKeyGenerateAlgorithmTest.java
@@ -31,8 +31,7 @@ import org.apache.shardingsphere.sharding.algorithm.keygen.fixture.WorkerIdGener
import org.apache.shardingsphere.sharding.factory.KeyGenerateAlgorithmFactory;
import org.apache.shardingsphere.sharding.spi.KeyGenerateAlgorithm;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.ArrayList;
import java.util.Arrays;
@@ -190,14 +189,14 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
assertThat(actual, is(expected));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setLastMilliseconds(final KeyGenerateAlgorithm algorithm, final Number value) {
- new InstanceField(SnowflakeKeyGenerateAlgorithm.class.getDeclaredField("lastMilliseconds"), algorithm).set(value);
+ Plugins.getMemberAccessor().set(SnowflakeKeyGenerateAlgorithm.class.getDeclaredField("lastMilliseconds"), algorithm, value);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setSequence(final KeyGenerateAlgorithm algorithm, final Number value) {
- new InstanceField(SnowflakeKeyGenerateAlgorithm.class.getDeclaredField("sequence"), algorithm).set(value);
+ Plugins.getMemberAccessor().set(SnowflakeKeyGenerateAlgorithm.class.getDeclaredField("sequence"), algorithm, value);
}
@Test(expected = IllegalArgumentException.class)
@@ -233,10 +232,10 @@ public final class SnowflakeKeyGenerateAlgorithmTest {
}
@Test
- public void assertSetMaxTolerateTimeDifferenceMilliseconds() throws NoSuchFieldException {
+ public void assertSetMaxTolerateTimeDifferenceMilliseconds() throws ReflectiveOperationException {
Properties props = new Properties();
props.setProperty("max-tolerate-time-difference-milliseconds", String.valueOf(1));
KeyGenerateAlgorithm algorithm = KeyGenerateAlgorithmFactory.newInstance(new AlgorithmConfiguration("SNOWFLAKE", props));
- assertThat(((Properties) new FieldReader(algorithm, algorithm.getClass().getDeclaredField("props")).read()).getProperty("max-tolerate-time-difference-milliseconds"), is("1"));
+ assertThat(((Properties) Plugins.getMemberAccessor().get(algorithm.getClass().getDeclaredField("props"), algorithm)).getProperty("max-tolerate-time-difference-milliseconds"), is("1"));
}
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilderTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilderTest.java
index 19859ea31ae..3af097ff700 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilderTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rewrite/token/pojo/ShardingTokenGenerateBuilderTest.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sharding.rule.aware.ShardingRuleAware;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Collection;
import java.util.Iterator;
@@ -86,6 +86,6 @@ public final class ShardingTokenGenerateBuilderTest {
}
private void assertField(final SQLTokenGenerator sqlTokenGenerator, final Object filedInstance, final String fieldName) throws Exception {
- assertThat(new FieldReader(sqlTokenGenerator, sqlTokenGenerator.getClass().getDeclaredField(fieldName)).read(), is(filedInstance));
+ assertThat(Plugins.getMemberAccessor().get(sqlTokenGenerator.getClass().getDeclaredField(fieldName), sqlTokenGenerator), is(filedInstance));
}
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/type/DBCPDataSourcePoolCreatorTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/type/DBCPDataSourcePoolCreatorTest.java
index d75bd1949b6..74175bcac34 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/type/DBCPDataSourcePoolCreatorTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/datasource/pool/creator/type/DBCPDataSourcePoolCreatorTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCre
import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.HashMap;
import java.util.Map;
@@ -60,8 +60,8 @@ public final class DBCPDataSourcePoolCreatorTest {
return result;
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private Properties getConnectionProperties(final BasicDataSource actual) {
- return (Properties) new FieldReader(actual, BasicDataSource.class.getDeclaredField("connectionProperties")).read();
+ return (Properties) Plugins.getMemberAccessor().get(BasicDataSource.class.getDeclaredField("connectionProperties"), actual);
}
}
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/ExecutorExceptionHandlerTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/ExecutorExceptionHandlerTest.java
index 75d9340e51d..d3545b9c27e 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/ExecutorExceptionHandlerTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/ExecutorExceptionHandlerTest.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.executor.sql.execute.engine;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.SQLException;
@@ -30,7 +30,7 @@ public final class ExecutorExceptionHandlerTest {
@After
public void tearDown() throws NoSuchFieldException, IllegalAccessException {
- ((ThreadLocal<?>) new FieldReader(SQLExecutorExceptionHandler.class, SQLExecutorExceptionHandler.class.getDeclaredField("IS_EXCEPTION_THROWN")).read()).remove();
+ ((ThreadLocal<?>) Plugins.getMemberAccessor().get(SQLExecutorExceptionHandler.class.getDeclaredField("IS_EXCEPTION_THROWN"), SQLExecutorExceptionHandler.class)).remove();
}
@Test(expected = SQLException.class)
diff --git a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/jdbc/JDBCExecutorCallbackTest.java b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/jdbc/JDBCExecutorCallbackTest.java
index ebafaa0cfce..d719823b64d 100644
--- a/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/jdbc/JDBCExecutorCallbackTest.java
+++ b/infra/executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/execute/engine/jdbc/JDBCExecutorCallbackTest.java
@@ -33,7 +33,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.Connection;
@@ -92,8 +92,8 @@ public final class JDBCExecutorCallbackTest {
return Optional.empty();
}
};
- Map<String, DataSourceMetaData> cachedDataSourceMetaData = (Map<String, DataSourceMetaData>) new FieldReader(
- jdbcExecutorCallback, JDBCExecutorCallback.class.getDeclaredField("CACHED_DATASOURCE_METADATA")).read();
+ Map<String, DataSourceMetaData> cachedDataSourceMetaData = (Map<String, DataSourceMetaData>) Plugins.getMemberAccessor()
+ .get(JDBCExecutorCallback.class.getDeclaredField("CACHED_DATASOURCE_METADATA"), jdbcExecutorCallback);
jdbcExecutorCallback.execute(units, true, Collections.emptyMap());
assertThat(cachedDataSourceMetaData.size(), is(1));
jdbcExecutorCallback.execute(units, true, Collections.emptyMap());
diff --git a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
index ecaf723814d..bf49f192995 100644
--- a/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
+++ b/infra/parser/src/test/java/org/apache/shardingsphere/infra/parser/cache/SQLStatementCacheLoaderTest.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.infra.parser.sql.SQLStatementParserExecutor;
import org.apache.shardingsphere.sql.parser.api.CacheOption;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import static org.hamcrest.CoreMatchers.isA;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -36,7 +36,7 @@ public final class SQLStatementCacheLoaderTest {
public void assertSQLStatementCacheLoad() throws ReflectiveOperationException {
SQLStatementCacheLoader sqlStatementCacheLoader = new SQLStatementCacheLoader("MySQL", new CacheOption(128, 1024L), false);
SQLStatementParserExecutor executor = mock(SQLStatementParserExecutor.class, RETURNS_DEEP_STUBS);
- new InstanceField(sqlStatementCacheLoader.getClass().getDeclaredField("sqlStatementParserExecutor"), sqlStatementCacheLoader).set(executor);
+ Plugins.getMemberAccessor().set(sqlStatementCacheLoader.getClass().getDeclaredField("sqlStatementParserExecutor"), sqlStatementCacheLoader, executor);
assertThat(sqlStatementCacheLoader.load(SQL), isA(SQLStatement.class));
}
}
diff --git a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
index 2bb5658edba..b798d286d05 100644
--- a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
+++ b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.infra.context.ConnectionContext;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Arrays;
import java.util.Collection;
@@ -41,7 +41,7 @@ import static org.mockito.Mockito.when;
public final class SQLTokenGeneratorsTest {
@Test
- public void assertAddAllWithList() throws NoSuchFieldException {
+ public void assertAddAllWithList() throws ReflectiveOperationException {
SQLTokenGenerators sqlTokenGenerators = new SQLTokenGenerators();
Map<Class<?>, SQLTokenGenerator> actualSqlTokenGeneratorsMap = getSQLTokenGeneratorsMap(sqlTokenGenerators);
SQLTokenGenerator mockSqlTokenGenerator = mock(SQLTokenGenerator.class);
@@ -52,7 +52,7 @@ public final class SQLTokenGeneratorsTest {
}
@Test
- public void assertAddAllWithSameClass() throws NoSuchFieldException {
+ public void assertAddAllWithSameClass() throws ReflectiveOperationException {
SQLTokenGenerators sqlTokenGenerators = new SQLTokenGenerators();
SQLTokenGenerator expectedSqlTokenGenerator = mock(SQLTokenGenerator.class);
SQLTokenGenerator unexpectedSqlTokenGenerator = mock(SQLTokenGenerator.class);
@@ -95,7 +95,7 @@ public final class SQLTokenGeneratorsTest {
}
@SuppressWarnings("unchecked")
- private Map<Class<?>, SQLTokenGenerator> getSQLTokenGeneratorsMap(final SQLTokenGenerators sqlTokenGenerators) throws NoSuchFieldException {
- return (Map<Class<?>, SQLTokenGenerator>) new FieldReader(sqlTokenGenerators, sqlTokenGenerators.getClass().getDeclaredField("sqlTokenGenerators")).read();
+ private Map<Class<?>, SQLTokenGenerator> getSQLTokenGeneratorsMap(final SQLTokenGenerators sqlTokenGenerators) throws ReflectiveOperationException {
+ return (Map<Class<?>, SQLTokenGenerator>) Plugins.getMemberAccessor().get(sqlTokenGenerators.getClass().getDeclaredField("sqlTokenGenerators"), sqlTokenGenerators);
}
}
diff --git a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/OrderedSPIRegistryTest.java b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/OrderedSPIRegistryTest.java
index 9d28be957bd..7b7b166a53f 100644
--- a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/OrderedSPIRegistryTest.java
+++ b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/OrderedSPIRegistryTest.java
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.infra.util.spi.type.ordered.fixture.impl.Ordere
import org.apache.shardingsphere.infra.util.spi.type.ordered.fixture.impl.OrderedSPIFixtureImpl;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.lang.ref.SoftReference;
import java.util.Collections;
@@ -43,8 +43,8 @@ public final class OrderedSPIRegistryTest {
}
@After
- public void cleanCache() throws NoSuchFieldException {
- new InstanceField(OrderedServicesCache.class.getDeclaredField("cache"), OrderedServicesCache.class).set(new SoftReference<>(new ConcurrentHashMap<>()));
+ public void cleanCache() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(OrderedServicesCache.class.getDeclaredField("cache"), OrderedServicesCache.class, new SoftReference<>(new ConcurrentHashMap<>()));
}
@SuppressWarnings("rawtypes")
diff --git a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/cache/OrderedServicesCacheTest.java b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/cache/OrderedServicesCacheTest.java
index b75c60ac950..88a531e3434 100644
--- a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/cache/OrderedServicesCacheTest.java
+++ b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/ordered/cache/OrderedServicesCacheTest.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.infra.util.spi.type.ordered.fixture.impl.Ordere
import org.apache.shardingsphere.infra.util.spi.type.ordered.fixture.impl.OrderedSPIFixtureImpl;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.lang.ref.SoftReference;
import java.util.Collection;
@@ -46,8 +46,8 @@ public final class OrderedServicesCacheTest {
}
@After
- public void cleanCache() throws NoSuchFieldException {
- new InstanceField(OrderedServicesCache.class.getDeclaredField("cache"), OrderedServicesCache.class).set(new SoftReference<>(new ConcurrentHashMap<>()));
+ public void cleanCache() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(OrderedServicesCache.class.getDeclaredField("cache"), OrderedServicesCache.class, new SoftReference<>(new ConcurrentHashMap<>()));
}
@Test
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactoryTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactoryTest.java
index 0b8aa888f1b..744ad3b1752 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactoryTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/ShardingSphereDataSourceFactoryTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.sql.SQLException;
@@ -92,6 +92,6 @@ public final class ShardingSphereDataSourceFactoryTest {
@SneakyThrows(ReflectiveOperationException.class)
private void assertDataSource(final DataSource actualDataSource, final String expectedDataSourceName) {
- assertThat(new FieldReader(actualDataSource, ShardingSphereDataSource.class.getDeclaredField("databaseName")).read(), is(expectedDataSourceName));
+ assertThat(Plugins.getMemberAccessor().get(ShardingSphereDataSource.class.getDeclaredField("databaseName"), actualDataSource), is(expectedDataSourceName));
}
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/yaml/YamlShardingSphereDataSourceFactoryTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/yaml/YamlShardingSphereDataSourceFactoryTest.java
index 37fb2cfa4c4..508d65ba81e 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/yaml/YamlShardingSphereDataSourceFactoryTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/api/yaml/YamlShardingSphereDataSourceFactoryTest.java
@@ -21,7 +21,7 @@ import lombok.SneakyThrows;
import org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.io.BufferedReader;
@@ -92,8 +92,8 @@ public final class YamlShardingSphereDataSourceFactoryTest {
return result.toString();
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void assertDataSource(final DataSource dataSource) {
- assertThat(new FieldReader(dataSource, ShardingSphereDataSource.class.getDeclaredField("databaseName")).read(), is("logic_db"));
+ assertThat(Plugins.getMemberAccessor().get(ShardingSphereDataSource.class.getDeclaredField("databaseName"), dataSource), is("logic_db"));
}
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
index 32801c266c6..dcd6695c9f5 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/executor/batch/BatchPreparedStatementExecutorTest.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.infra.executor.sql.execute.engine.driver.jdbc.J
import org.apache.shardingsphere.infra.util.eventbus.EventBusContext;
import org.junit.Test;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -145,10 +145,10 @@ public final class BatchPreparedStatementExecutorTest extends AbstractBaseExecut
setFields(executionGroups, batchExecutionUnits);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setFields(final Collection<ExecutionGroup<JDBCExecutionUnit>> executionGroups, final Collection<BatchExecutionUnit> batchExecutionUnits) {
- new InstanceField(BatchPreparedStatementExecutor.class.getDeclaredField("executionGroupContext"), actual).set(new ExecutionGroupContext<>(executionGroups));
- new InstanceField(BatchPreparedStatementExecutor.class.getDeclaredField("batchExecutionUnits"), actual).set(batchExecutionUnits);
- new InstanceField(BatchPreparedStatementExecutor.class.getDeclaredField("batchCount"), actual).set(2);
+ Plugins.getMemberAccessor().set(BatchPreparedStatementExecutor.class.getDeclaredField("executionGroupContext"), actual, new ExecutionGroupContext<>(executionGroups));
+ Plugins.getMemberAccessor().set(BatchPreparedStatementExecutor.class.getDeclaredField("batchExecutionUnits"), actual, batchExecutionUnits);
+ Plugins.getMemberAccessor().set(BatchPreparedStatementExecutor.class.getDeclaredField("batchCount"), actual, 2);
}
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
index 3eb50a33c0d..38c5d07cd73 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
@@ -30,7 +30,7 @@ import org.apache.shardingsphere.sqlfederation.rule.builder.DefaultSQLFederation
import org.apache.shardingsphere.traffic.rule.TrafficRule;
import org.apache.shardingsphere.traffic.rule.builder.DefaultTrafficRuleConfigurationBuilder;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -259,8 +259,8 @@ public final class StatementAdapterTest {
return result;
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setExecutionContext(final ShardingSphereStatement statement, final ExecutionContext executionContext) {
- new InstanceField(statement.getClass().getDeclaredField("executionContext"), statement).set(executionContext);
+ Plugins.getMemberAccessor().set(statement.getClass().getDeclaredField("executionContext"), statement, executionContext);
}
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
index e9fa88b97de..135dfa27e47 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnectionTest.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.transaction.rule.TransactionRule;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -167,7 +167,7 @@ public final class ShardingSphereConnectionTest {
private ConnectionManager mockConnectionManager(final ConnectionTransaction connectionTransaction) {
ConnectionManager result = mock(ConnectionManager.class);
when(result.getConnectionTransaction()).thenReturn(connectionTransaction);
- new InstanceField(connection.getClass().getDeclaredField("connectionManager"), connection).set(result);
+ Plugins.getMemberAccessor().set(connection.getClass().getDeclaredField("connectionManager"), connection, result);
return result;
}
diff --git a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
index 7c649d01655..2dab45a10d0 100644
--- a/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
+++ b/jdbc/core/src/test/java/org/apache/shardingsphere/driver/jdbc/core/datasource/ShardingSphereDataSourceTest.java
@@ -32,7 +32,7 @@ import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
import org.apache.shardingsphere.transaction.core.TransactionTypeHolder;
import org.junit.After;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -140,7 +140,7 @@ public final class ShardingSphereDataSourceTest {
@SneakyThrows(ReflectiveOperationException.class)
private ContextManager getContextManager(final ShardingSphereDataSource dataSource) {
- return (ContextManager) new FieldReader(dataSource, ShardingSphereDataSource.class.getDeclaredField("contextManager")).read();
+ return (ContextManager) Plugins.getMemberAccessor().get(ShardingSphereDataSource.class.getDeclaredField("contextManager"), dataSource);
}
private DataSource createHikariDataSource() {
diff --git a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/ingest/channel/memory/MemoryPipelineChannelCreatorTest.java b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/ingest/channel/memory/MemoryPipelineChannelCreatorTest.java
index 8399632ac02..62f4e7cb25d 100644
--- a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/ingest/channel/memory/MemoryPipelineChannelCreatorTest.java
+++ b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/ingest/channel/memory/MemoryPipelineChannelCreatorTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.data.pipeline.core.ingest.channel.memory;
import org.apache.shardingsphere.data.pipeline.api.ingest.channel.AckCallback;
import org.apache.shardingsphere.data.pipeline.spi.ingest.channel.PipelineChannelCreator;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Properties;
@@ -37,14 +37,14 @@ public final class MemoryPipelineChannelCreatorTest {
props.setProperty("block-queue-size", "200");
PipelineChannelCreator creator = new MemoryPipelineChannelCreator();
creator.init(props);
- assertThat(new FieldReader(creator, MemoryPipelineChannelCreator.class.getDeclaredField("blockQueueSize")).read(), is(200));
+ assertThat(Plugins.getMemberAccessor().get(MemoryPipelineChannelCreator.class.getDeclaredField("blockQueueSize"), creator), is(200));
}
@Test
public void assertInitWithoutBlockQueueSize() throws Exception {
PipelineChannelCreator creator = new MemoryPipelineChannelCreator();
creator.init(new Properties());
- assertThat(new FieldReader(creator, MemoryPipelineChannelCreator.class.getDeclaredField("blockQueueSize")).read(), is(10000));
+ assertThat(Plugins.getMemberAccessor().get(MemoryPipelineChannelCreator.class.getDeclaredField("blockQueueSize"), creator), is(10000));
}
@Test
diff --git a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClientTest.java b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClientTest.java
index f4c65b1bd2a..8b17111dd22 100644
--- a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClientTest.java
+++ b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/MySQLClientTest.java
@@ -32,8 +32,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.net.InetSocketAddress;
@@ -73,51 +72,51 @@ public final class MySQLClientTest {
}
@Test
- public void assertConnect() throws NoSuchFieldException {
+ public void assertConnect() throws ReflectiveOperationException {
ServerInfo expected = new ServerInfo();
mockChannelResponse(expected);
mysqlClient.connect();
- ServerInfo actual = (ServerInfo) new FieldReader(mysqlClient, MySQLClient.class.getDeclaredField("serverInfo")).read();
+ ServerInfo actual = (ServerInfo) Plugins.getMemberAccessor().get(MySQLClient.class.getDeclaredField("serverInfo"), mysqlClient);
assertThat(actual, is(expected));
}
@Test
- public void assertExecute() throws NoSuchFieldException {
+ public void assertExecute() throws ReflectiveOperationException {
mockChannelResponse(new MySQLOKPacket(0, 0));
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
- new InstanceField(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient).set(new NioEventLoopGroup(1));
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient, new NioEventLoopGroup(1));
assertTrue(mysqlClient.execute(""));
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLComQueryPacket.class));
}
@Test
- public void assertExecuteUpdate() throws NoSuchFieldException {
+ public void assertExecuteUpdate() throws ReflectiveOperationException {
MySQLOKPacket expected = new MySQLOKPacket(0, 10, 0, 0);
- new InstanceField(MySQLOKPacket.class.getDeclaredField("affectedRows"), expected).set(10L);
+ Plugins.getMemberAccessor().set(MySQLOKPacket.class.getDeclaredField("affectedRows"), expected, 10L);
mockChannelResponse(expected);
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
- new InstanceField(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient).set(new NioEventLoopGroup(1));
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient, new NioEventLoopGroup(1));
assertThat(mysqlClient.executeUpdate(""), is(10));
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLComQueryPacket.class));
}
@Test
- public void assertExecuteQuery() throws NoSuchFieldException {
+ public void assertExecuteQuery() throws ReflectiveOperationException {
InternalResultSet expected = new InternalResultSet(null);
mockChannelResponse(expected);
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
- new InstanceField(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient).set(new NioEventLoopGroup(1));
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient, new NioEventLoopGroup(1));
assertThat(mysqlClient.executeQuery(""), is(expected));
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLComQueryPacket.class));
}
@Test
- public void assertSubscribeBelow56Version() throws NoSuchFieldException {
+ public void assertSubscribeBelow56Version() throws ReflectiveOperationException {
ServerInfo serverInfo = new ServerInfo();
serverInfo.setServerVersion(new ServerVersion("5.5.0-log"));
- new InstanceField(MySQLClient.class.getDeclaredField("serverInfo"), mysqlClient).set(serverInfo);
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
- new InstanceField(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient).set(new NioEventLoopGroup(1));
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("serverInfo"), mysqlClient, serverInfo);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("eventLoopGroup"), mysqlClient, new NioEventLoopGroup(1));
mockChannelResponse(new MySQLOKPacket(0, 0));
mysqlClient.subscribe("", 4L);
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLComRegisterSlaveCommandPacket.class));
@@ -130,8 +129,8 @@ public final class MySQLClientTest {
while (true) {
Promise<Object> responseCallback;
try {
- responseCallback = (Promise<Object>) new FieldReader(mysqlClient, MySQLClient.class.getDeclaredField("responseCallback")).read();
- } catch (final NoSuchFieldException ex) {
+ responseCallback = (Promise<Object>) Plugins.getMemberAccessor().get(MySQLClient.class.getDeclaredField("responseCallback"), mysqlClient);
+ } catch (final ReflectiveOperationException ex) {
throw new RuntimeException(ex);
}
if (null != responseCallback) {
@@ -143,16 +142,16 @@ public final class MySQLClientTest {
}
@Test
- public void assertCloseChannel() throws NoSuchFieldException {
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
+ public void assertCloseChannel() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
mysqlClient.closeChannel();
assertFalse(channel.isOpen());
}
@Test(expected = BinlogSyncChannelAlreadyClosedException.class)
- public void assertPollFailed() throws NoSuchFieldException {
- new InstanceField(MySQLClient.class.getDeclaredField("channel"), mysqlClient).set(channel);
- new InstanceField(MySQLClient.class.getDeclaredField("running"), mysqlClient).set(false);
+ public void assertPollFailed() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("channel"), mysqlClient, channel);
+ Plugins.getMemberAccessor().set(MySQLClient.class.getDeclaredField("running"), mysqlClient, false);
mysqlClient.poll();
}
}
diff --git a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoderTest.java b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoderTest.java
index f152f7c4689..90e942189e0 100644
--- a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoderTest.java
+++ b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoderTest.java
@@ -36,7 +36,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.io.Serializable;
@@ -68,7 +68,7 @@ public final class MySQLBinlogEventPacketDecoderTest {
@Before
public void setUp() throws NoSuchFieldException, IllegalAccessException {
binlogEventPacketDecoder = new MySQLBinlogEventPacketDecoder(4, new ConcurrentHashMap<>());
- binlogContext = (BinlogContext) new FieldReader(binlogEventPacketDecoder, MySQLBinlogEventPacketDecoder.class.getDeclaredField("binlogContext")).read();
+ binlogContext = (BinlogContext) Plugins.getMemberAccessor().get(MySQLBinlogEventPacketDecoder.class.getDeclaredField("binlogContext"), binlogEventPacketDecoder);
when(channelHandlerContext.channel().attr(CommonConstants.CHARSET_ATTRIBUTE_KEY).get()).thenReturn(StandardCharsets.UTF_8);
columnDefs = Lists.newArrayList(new MySQLBinlogColumnDef(MySQLBinaryColumnType.MYSQL_TYPE_LONGLONG), new MySQLBinlogColumnDef(MySQLBinaryColumnType.MYSQL_TYPE_LONG),
new MySQLBinlogColumnDef(MySQLBinaryColumnType.MYSQL_TYPE_VARCHAR), new MySQLBinlogColumnDef(MySQLBinaryColumnType.MYSQL_TYPE_NEWDECIMAL));
diff --git a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandlerTest.java b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandlerTest.java
index ae3d5e671cc..7e436bae8a8 100644
--- a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandlerTest.java
+++ b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiateHandlerTest.java
@@ -34,8 +34,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatchers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
@@ -73,12 +72,12 @@ public final class MySQLNegotiateHandlerTest {
}
@Test
- public void assertChannelReadHandshakeInitPacket() throws NoSuchFieldException {
+ public void assertChannelReadHandshakeInitPacket() throws ReflectiveOperationException {
MySQLHandshakePacket handshakePacket = new MySQLHandshakePacket(0, new MySQLAuthPluginData(new byte[8], new byte[12]));
handshakePacket.setAuthPluginName(MySQLAuthenticationMethod.SECURE_PASSWORD_AUTHENTICATION);
mysqlNegotiateHandler.channelRead(channelHandlerContext, handshakePacket);
verify(channel).writeAndFlush(ArgumentMatchers.any(MySQLHandshakeResponse41Packet.class));
- ServerInfo serverInfo = (ServerInfo) new FieldReader(mysqlNegotiateHandler, MySQLNegotiateHandler.class.getDeclaredField("serverInfo")).read();
+ ServerInfo serverInfo = (ServerInfo) Plugins.getMemberAccessor().get(MySQLNegotiateHandler.class.getDeclaredField("serverInfo"), mysqlNegotiateHandler);
assertNotNull(serverInfo);
assertThat(serverInfo.getServerVersion().getMajor(), is(5));
assertThat(serverInfo.getServerVersion().getMinor(), is(7));
@@ -86,10 +85,10 @@ public final class MySQLNegotiateHandlerTest {
}
@Test
- public void assertChannelReadOkPacket() throws NoSuchFieldException {
+ public void assertChannelReadOkPacket() throws ReflectiveOperationException {
MySQLOKPacket okPacket = new MySQLOKPacket(0, 0);
ServerInfo serverInfo = new ServerInfo();
- new InstanceField(MySQLNegotiateHandler.class.getDeclaredField("serverInfo"), mysqlNegotiateHandler).set(serverInfo);
+ Plugins.getMemberAccessor().set(MySQLNegotiateHandler.class.getDeclaredField("serverInfo"), mysqlNegotiateHandler, serverInfo);
mysqlNegotiateHandler.channelRead(channelHandlerContext, okPacket);
verify(pipeline).remove(mysqlNegotiateHandler);
verify(authResultCallback).setSuccess(serverInfo);
diff --git a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiatePackageDecoderTest.java b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiatePackageDecoderTest.java
index 4bef473a8f3..606f1ca70b7 100644
--- a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiatePackageDecoderTest.java
+++ b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLNegotiatePackageDecoderTest.java
@@ -30,7 +30,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.nio.charset.StandardCharsets;
@@ -94,9 +94,9 @@ public final class MySQLNegotiatePackageDecoderTest {
}
@Test
- public void assertDecodeAuthSwitchRequestPacket() throws NoSuchFieldException {
+ public void assertDecodeAuthSwitchRequestPacket() throws ReflectiveOperationException {
MySQLNegotiatePackageDecoder negotiatePackageDecoder = new MySQLNegotiatePackageDecoder();
- new InstanceField(MySQLNegotiatePackageDecoder.class.getDeclaredField("handshakeReceived"), negotiatePackageDecoder).set(true);
+ Plugins.getMemberAccessor().set(MySQLNegotiatePackageDecoder.class.getDeclaredField("handshakeReceived"), negotiatePackageDecoder, true);
List<Object> actual = new LinkedList<>();
negotiatePackageDecoder.decode(channelHandlerContext, authSwitchRequestPacket(), actual);
assertPacketByType(actual, MySQLAuthSwitchRequestPacket.class);
@@ -110,9 +110,9 @@ public final class MySQLNegotiatePackageDecoderTest {
}
@Test
- public void assertDecodeAuthMoreDataPacket() throws NoSuchFieldException {
+ public void assertDecodeAuthMoreDataPacket() throws ReflectiveOperationException {
MySQLNegotiatePackageDecoder negotiatePackageDecoder = new MySQLNegotiatePackageDecoder();
- new InstanceField(MySQLNegotiatePackageDecoder.class.getDeclaredField("handshakeReceived"), negotiatePackageDecoder).set(true);
+ Plugins.getMemberAccessor().set(MySQLNegotiatePackageDecoder.class.getDeclaredField("handshakeReceived"), negotiatePackageDecoder, true);
List<Object> actual = new LinkedList<>();
negotiatePackageDecoder.decode(channelHandlerContext, authMoreDataPacket(), actual);
assertPacketByType(actual, MySQLAuthMoreDataPacket.class);
diff --git a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLWALDumperTest.java b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLWALDumperTest.java
index b72dd1a5a14..6294bf6c92e 100644
--- a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLWALDumperTest.java
+++ b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/ingest/PostgreSQLWALDumperTest.java
@@ -38,7 +38,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockedStatic;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import org.postgresql.jdbc.PgConnection;
import org.postgresql.replication.LogSequenceNumber;
@@ -117,10 +117,10 @@ public final class PostgreSQLWALDumperTest {
}
@Test
- public void assertStart() throws SQLException, NoSuchFieldException {
+ public void assertStart() throws SQLException, ReflectiveOperationException {
StandardPipelineDataSourceConfiguration dataSourceConfig = (StandardPipelineDataSourceConfiguration) dumperConfig.getDataSourceConfig();
try {
- new InstanceField(PostgreSQLWALDumper.class.getDeclaredField("logicalReplication"), walDumper).set(logicalReplication);
+ Plugins.getMemberAccessor().set(PostgreSQLWALDumper.class.getDeclaredField("logicalReplication"), walDumper, logicalReplication);
when(logicalReplication.createConnection(dataSourceConfig)).thenReturn(pgConnection);
when(pgConnection.unwrap(PgConnection.class)).thenReturn(pgConnection);
try (MockedStatic<PostgreSQLPositionInitializer> positionInitializer = mockStatic(PostgreSQLPositionInitializer.class)) {
diff --git a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
index 15556c70e6b..8433de15c7b 100644
--- a/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
+++ b/kernel/transaction/type/base/seata-at/src/test/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManagerTest.java
@@ -40,8 +40,7 @@ import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -172,23 +171,23 @@ public final class SeataATShardingSphereTransactionManagerTest {
}
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private Map<String, DataSource> getDataSourceMap() {
- return (Map<String, DataSource>) new FieldReader(seataTransactionManager, seataTransactionManager.getClass().getDeclaredField("dataSourceMap")).read();
+ return (Map<String, DataSource>) Plugins.getMemberAccessor().get(seataTransactionManager.getClass().getDeclaredField("dataSourceMap"), seataTransactionManager);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setXID(final String xid) {
- new InstanceField(SeataTransactionHolder.get().getClass().getDeclaredField("xid"), SeataTransactionHolder.get()).set(xid);
+ Plugins.getMemberAccessor().set(SeataTransactionHolder.get().getClass().getDeclaredField("xid"), SeataTransactionHolder.get(), xid);
RootContext.bind(xid);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void releaseRpcClient() {
- new InstanceField(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"), TmNettyRemotingClient.getInstance()).set(new AtomicBoolean(false));
- new InstanceField(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"), TmNettyRemotingClient.getInstance()).set(null);
- new InstanceField(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"), RmNettyRemotingClient.getInstance()).set(new AtomicBoolean(false));
- new InstanceField(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"), RmNettyRemotingClient.getInstance()).set(null);
+ Plugins.getMemberAccessor().set(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"), TmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
+ Plugins.getMemberAccessor().set(TmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"), TmNettyRemotingClient.getInstance(), null);
+ Plugins.getMemberAccessor().set(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("initialized"), RmNettyRemotingClient.getInstance(), new AtomicBoolean(false));
+ Plugins.getMemberAccessor().set(RmNettyRemotingClient.getInstance().getClass().getDeclaredField("instance"), RmNettyRemotingClient.getInstance(), null);
}
}
diff --git a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
index b2047d1a50e..8093cc9ce5d 100644
--- a/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
+++ b/kernel/transaction/type/xa/core/src/test/java/org/apache/shardingsphere/transaction/xa/XAShardingSphereTransactionManagerTest.java
@@ -28,7 +28,7 @@ import org.apache.shardingsphere.transaction.xa.jta.datasource.XATransactionData
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import javax.transaction.Transaction;
@@ -134,16 +134,16 @@ public final class XAShardingSphereTransactionManagerTest {
assertFalse(xaTransactionManager.isInTransaction());
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private Map<String, XATransactionDataSource> getCachedDataSources() {
- return (Map<String, XATransactionDataSource>) new FieldReader(xaTransactionManager, xaTransactionManager.getClass().getDeclaredField("cachedDataSources")).read();
+ return (Map<String, XATransactionDataSource>) Plugins.getMemberAccessor().get(xaTransactionManager.getClass().getDeclaredField("cachedDataSources"), xaTransactionManager);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
@SuppressWarnings("unchecked")
private ThreadLocal<Map<Transaction, Connection>> getEnlistedTransactions(final XATransactionDataSource transactionDataSource) {
- return (ThreadLocal<Map<Transaction, Connection>>) new FieldReader(transactionDataSource, transactionDataSource.getClass().getDeclaredField("enlistedTransactions")).read();
+ return (ThreadLocal<Map<Transaction, Connection>>) Plugins.getMemberAccessor().get(transactionDataSource.getClass().getDeclaredField("enlistedTransactions"), transactionDataSource);
}
private Map<String, DataSource> createDataSources(final DatabaseType databaseType) {
diff --git a/kernel/transaction/type/xa/provider/atomikos/src/test/java/org/apache/shardingsphere/transaction/xa/atomikos/manager/AtomikosTransactionManagerProviderTest.java b/kernel/transaction/type/xa/provider/atomikos/src/test/java/org/apache/shardingsphere/transaction/xa/atomikos/manager/AtomikosTransactionManagerProviderTest.java
index 1f3ad716799..b9db26a6819 100644
--- a/kernel/transaction/type/xa/provider/atomikos/src/test/java/org/apache/shardingsphere/transaction/xa/atomikos/manager/AtomikosTransactionManagerProviderTest.java
+++ b/kernel/transaction/type/xa/provider/atomikos/src/test/java/org/apache/shardingsphere/transaction/xa/atomikos/manager/AtomikosTransactionManagerProviderTest.java
@@ -24,7 +24,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.XADataSource;
@@ -57,9 +57,9 @@ public final class AtomikosTransactionManagerProviderTest {
private XADataSource xaDataSource;
@Before
- public void setUp() throws NoSuchFieldException {
- new InstanceField(AtomikosTransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider).set(userTransactionManager);
- new InstanceField(AtomikosTransactionManagerProvider.class.getDeclaredField("userTransactionService"), transactionManagerProvider).set(userTransactionService);
+ public void setUp() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(AtomikosTransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider, userTransactionManager);
+ Plugins.getMemberAccessor().set(AtomikosTransactionManagerProvider.class.getDeclaredField("userTransactionService"), transactionManagerProvider, userTransactionService);
}
@Test
diff --git a/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/BitronixXATransactionManagerProviderTest.java b/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/BitronixXATransactionManagerProviderTest.java
index 9561a0d11ec..5f340d0266e 100644
--- a/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/BitronixXATransactionManagerProviderTest.java
+++ b/kernel/transaction/type/xa/provider/bitronix/src/test/java/org/apache/shardingsphere/transaction/xa/bitronix/manager/BitronixXATransactionManagerProviderTest.java
@@ -24,7 +24,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.XADataSource;
@@ -52,8 +52,8 @@ public final class BitronixXATransactionManagerProviderTest {
private XADataSource xaDataSource;
@Before
- public void setUp() throws NoSuchFieldException {
- new InstanceField(BitronixXATransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider).set(transactionManager);
+ public void setUp() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(BitronixXATransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider, transactionManager);
}
@Test
diff --git a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
index d57747f0246..91366186f73 100644
--- a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
+++ b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/DataSourceXAResourceRecoveryHelperTest.java
@@ -21,7 +21,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.XAConnection;
@@ -69,8 +69,8 @@ public final class DataSourceXAResourceRecoveryHelperTest {
}
@Test
- public void assertGetXAResourcesWithoutConnecting() throws SQLException, NoSuchFieldException {
- new InstanceField(DataSourceXAResourceRecoveryHelper.class.getDeclaredField("delegate"), recoveryHelper).set(xaResource);
+ public void assertGetXAResourcesWithoutConnecting() throws SQLException, ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(DataSourceXAResourceRecoveryHelper.class.getDeclaredField("delegate"), recoveryHelper, xaResource);
recoveryHelper.getXAResources();
XAResource[] xaResources = recoveryHelper.getXAResources();
assertThat(xaResources.length, is(1));
diff --git a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/NarayanaXATransactionManagerProviderTest.java b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/NarayanaXATransactionManagerProviderTest.java
index a45cd7aff68..b4bd3c60c91 100644
--- a/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/NarayanaXATransactionManagerProviderTest.java
+++ b/kernel/transaction/type/xa/provider/narayana/src/test/java/org/apache/shardingsphere/transaction/xa/narayana/manager/NarayanaXATransactionManagerProviderTest.java
@@ -24,7 +24,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.XADataSource;
@@ -58,10 +58,10 @@ public final class NarayanaXATransactionManagerProviderTest {
private XADataSource xaDataSource;
@Before
- public void setUp() throws NoSuchFieldException {
- new InstanceField(NarayanaXATransactionManagerProvider.class.getDeclaredField("xaRecoveryModule"), transactionManagerProvider).set(xaRecoveryModule);
- new InstanceField(NarayanaXATransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider).set(transactionManager);
- new InstanceField(NarayanaXATransactionManagerProvider.class.getDeclaredField("recoveryManagerService"), transactionManagerProvider).set(recoveryManagerService);
+ public void setUp() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(NarayanaXATransactionManagerProvider.class.getDeclaredField("xaRecoveryModule"), transactionManagerProvider, xaRecoveryModule);
+ Plugins.getMemberAccessor().set(NarayanaXATransactionManagerProvider.class.getDeclaredField("transactionManager"), transactionManagerProvider, transactionManager);
+ Plugins.getMemberAccessor().set(NarayanaXATransactionManagerProvider.class.getDeclaredField("recoveryManagerService"), transactionManagerProvider, recoveryManagerService);
}
@Test
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
index ffee92db2aa..bfa50a50cac 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
@@ -36,7 +36,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.DataSource;
@@ -85,7 +85,7 @@ public final class MetaDataPersistServiceTest {
}
private void setField(final String name, final Object value) throws ReflectiveOperationException {
- new InstanceField(metaDataPersistService.getClass().getDeclaredField(name), metaDataPersistService).set(value);
+ Plugins.getMemberAccessor().set(metaDataPersistService.getClass().getDeclaredField(name), metaDataPersistService, value);
}
@Test
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/subscriber/SchemaMetaDataRegistrySubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/subscriber/SchemaMetaDataRegistrySubscriberTest.java
index c0f04489718..95fbd5b36d5 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/subscriber/SchemaMetaDataRegistrySubscriberTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/metadata/subscriber/SchemaMetaDataRegistrySubscriberTest.java
@@ -32,7 +32,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.Collections;
@@ -54,7 +54,7 @@ public final class SchemaMetaDataRegistrySubscriberTest {
@Before
public void setUp() throws ReflectiveOperationException {
schemaMetaDataRegistrySubscriber = new SchemaMetaDataRegistrySubscriber(mock(ClusterPersistRepository.class), new EventBusContext());
- new InstanceField(schemaMetaDataRegistrySubscriber.getClass().getDeclaredField("persistService"), schemaMetaDataRegistrySubscriber).set(persistService);
+ Plugins.getMemberAccessor().set(schemaMetaDataRegistrySubscriber.getClass().getDeclaredField("persistService"), schemaMetaDataRegistrySubscriber, persistService);
}
@Test
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
index b04f5f699b6..2d800cbae39 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/subscriber/ProcessListChangedSubscriberTest.java
@@ -45,7 +45,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -122,23 +122,23 @@ public final class ProcessListChangedSubscriberTest {
}
@Test
- public void assertTriggerShowProcessList() throws NoSuchFieldException {
+ public void assertTriggerShowProcessList() throws ReflectiveOperationException {
String instanceId = contextManager.getInstanceContext().getInstance().getMetaData().getId();
ShowProcessListManager.getInstance().putProcessContext("foo_execution_id", mock(ExecuteProcessContext.class));
String processListId = "foo_process_id";
subscriber.triggerShowProcessList(new ShowProcessListTriggerEvent(instanceId, processListId));
- ClusterPersistRepository repository = ((RegistryCenter) new FieldReader(subscriber, ProcessListChangedSubscriber.class.getDeclaredField("registryCenter")).read()).getRepository();
+ ClusterPersistRepository repository = ((RegistryCenter) Plugins.getMemberAccessor().get(ProcessListChangedSubscriber.class.getDeclaredField("registryCenter"), subscriber)).getRepository();
verify(repository).persist("/execution_nodes/foo_process_id/" + instanceId,
"contexts:" + System.lineSeparator() + "- startTimeMillis: 0" + System.lineSeparator());
verify(repository).delete("/nodes/compute_nodes/process_trigger/" + instanceId + ":foo_process_id");
}
@Test
- public void assertKillProcessListId() throws SQLException, NoSuchFieldException {
+ public void assertKillProcessListId() throws SQLException, ReflectiveOperationException {
String instanceId = contextManager.getInstanceContext().getInstance().getMetaData().getId();
String processId = "foo_process_id";
subscriber.killProcessListId(new KillProcessListIdEvent(instanceId, processId));
- ClusterPersistRepository repository = ((RegistryCenter) new FieldReader(subscriber, ProcessListChangedSubscriber.class.getDeclaredField("registryCenter")).read()).getRepository();
+ ClusterPersistRepository repository = ((RegistryCenter) Plugins.getMemberAccessor().get(ProcessListChangedSubscriber.class.getDeclaredField("registryCenter"), subscriber)).getRepository();
verify(repository).delete("/nodes/compute_nodes/process_kill/" + instanceId + ":foo_process_id");
}
diff --git a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
index 490c73babba..d16641466ca 100644
--- a/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
+++ b/mode/type/cluster/repository/provider/zookeeper/src/test/java/org/apache/shardingsphere/mode/repository/cluster/zookeeper/ZookeeperRepositoryTest.java
@@ -48,7 +48,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.AdditionalAnswers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.stubbing.VoidAnswer1;
@@ -124,9 +124,9 @@ public final class ZookeeperRepositoryTest {
mockDistributedLockHolder();
}
- @SneakyThrows({NoSuchFieldException.class, InterruptedException.class})
+ @SneakyThrows({ReflectiveOperationException.class, InterruptedException.class})
private void mockClient() {
- new InstanceField(ZookeeperRepository.class.getDeclaredField("builder"), REPOSITORY).set(builder);
+ Plugins.getMemberAccessor().set(ZookeeperRepository.class.getDeclaredField("builder"), REPOSITORY, builder);
when(builder.connectString(anyString())).thenReturn(builder);
when(builder.retryPolicy(any(RetryPolicy.class))).thenReturn(builder);
when(builder.ensembleTracker(anyBoolean())).thenReturn(builder);
@@ -139,11 +139,11 @@ public final class ZookeeperRepositoryTest {
when(client.blockUntilConnected(anyInt(), eq(TimeUnit.MILLISECONDS))).thenReturn(true);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void mockDistributedLockHolder() {
DistributedLockHolder distributedLockHolder = new DistributedLockHolder("Zookeeper", client, new ZookeeperProperties(new Properties()));
- new InstanceField(DistributedLockHolder.class.getDeclaredField("locks"), distributedLockHolder).set(Collections.singletonMap("/locks/glock", mock(ZookeeperDistributedLock.class)));
- new InstanceField(ZookeeperRepository.class.getDeclaredField("distributedLockHolder"), REPOSITORY).set(distributedLockHolder);
+ Plugins.getMemberAccessor().set(DistributedLockHolder.class.getDeclaredField("locks"), distributedLockHolder, Collections.singletonMap("/locks/glock", mock(ZookeeperDistributedLock.class)));
+ Plugins.getMemberAccessor().set(ZookeeperRepository.class.getDeclaredField("distributedLockHolder"), REPOSITORY, distributedLockHolder);
}
private void mockBuilder() {
@@ -239,7 +239,7 @@ public final class ZookeeperRepositoryTest {
private void mockCache(final String key) {
Map<String, CuratorCache> caches = new HashMap<>();
caches.put(key, curatorCache);
- new InstanceField(ZookeeperRepository.class.getDeclaredField("caches"), REPOSITORY).set(caches);
+ Plugins.getMemberAccessor().set(ZookeeperRepository.class.getDeclaredField("caches"), REPOSITORY, caches);
when(curatorCache.listenable()).thenReturn(listenable);
}
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineTest.java
index cd9e1768f92..06d9d8c106f 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/DatabaseCommunicationEngineTest.java
@@ -65,7 +65,6 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockedStatic;
import org.mockito.internal.configuration.plugins.Plugins;
-import org.mockito.internal.util.reflection.FieldReader;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.plugins.MemberAccessor;
@@ -292,8 +291,8 @@ public final class DatabaseCommunicationEngineTest extends ProxyContextRestorer
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private <T> T getField(final DatabaseCommunicationEngine target, final String fieldName) {
- return (T) new FieldReader(target, DatabaseCommunicationEngine.class.getDeclaredField(fieldName)).read();
+ return (T) Plugins.getMemberAccessor().get(DatabaseCommunicationEngine.class.getDeclaredField(fieldName), target);
}
}
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
index e51236b61f7..aa83fef1d7c 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/BackendConnectionTest.java
@@ -47,8 +47,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockedStatic;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.lang.reflect.Field;
@@ -133,15 +132,15 @@ public final class BackendConnectionTest extends ProxyContextRestorer {
return mock(ShardingSphereRuleMetaData.class);
}
- private void setBackendDataSource() throws NoSuchFieldException {
- new InstanceField(ProxyContext.getInstance().getClass().getDeclaredField("backendDataSource"), ProxyContext.getInstance()).set(backendDataSource);
+ private void setBackendDataSource() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(ProxyContext.getInstance().getClass().getDeclaredField("backendDataSource"), ProxyContext.getInstance(), backendDataSource);
}
@After
public void clean() throws ReflectiveOperationException {
Field field = ProxyContext.getInstance().getClass().getDeclaredField("backendDataSource");
Object datasource = field.getType().getDeclaredConstructor().newInstance();
- new InstanceField(field, ProxyContext.getInstance()).set(datasource);
+ Plugins.getMemberAccessor().set(field, ProxyContext.getInstance(), datasource);
}
@Test
@@ -191,7 +190,7 @@ public final class BackendConnectionTest extends ProxyContextRestorer {
ConnectionPostProcessor connectionPostProcessor = mock(ConnectionPostProcessor.class);
Collection<ConnectionPostProcessor> connectionPostProcessors = new LinkedList<>();
connectionPostProcessors.add(connectionPostProcessor);
- new InstanceField(BackendConnection.class.getDeclaredField("connectionPostProcessors"), backendConnection).set(connectionPostProcessors);
+ Plugins.getMemberAccessor().set(BackendConnection.class.getDeclaredField("connectionPostProcessors"), backendConnection, connectionPostProcessors);
}
@Test
@@ -223,8 +222,9 @@ public final class BackendConnectionTest extends ProxyContextRestorer {
@SuppressWarnings("unchecked")
@Test
- public void assertCloseConnectionsCorrectlyWhenNotForceRollback() throws NoSuchFieldException, SQLException {
- Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) new FieldReader(backendConnection, BackendConnection.class.getDeclaredField("cachedConnections")).read();
+ public void assertCloseConnectionsCorrectlyWhenNotForceRollback() throws ReflectiveOperationException, SQLException {
+ Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) Plugins.getMemberAccessor()
+ .get(BackendConnection.class.getDeclaredField("cachedConnections"), backendConnection);
Connection connection = prepareCachedConnections();
cachedConnections.put("ignoredDataSourceName", connection);
backendConnection.closeConnections(false);
@@ -316,27 +316,29 @@ public final class BackendConnectionTest extends ProxyContextRestorer {
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void assertConnectionsCached(final String dataSourceName, final Collection<Connection> connections) {
- Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) new FieldReader(backendConnection, BackendConnection.class.getDeclaredField("cachedConnections")).read();
+ Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) Plugins.getMemberAccessor()
+ .get(BackendConnection.class.getDeclaredField("cachedConnections"), backendConnection);
assertTrue(cachedConnections.containsKey(dataSourceName));
assertArrayEquals(cachedConnections.get(dataSourceName).toArray(), connections.toArray());
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private Connection prepareCachedConnections() {
- Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) new FieldReader(backendConnection, BackendConnection.class.getDeclaredField("cachedConnections")).read();
+ Multimap<String, Connection> cachedConnections = (Multimap<String, Connection>) Plugins.getMemberAccessor()
+ .get(BackendConnection.class.getDeclaredField("cachedConnections"), backendConnection);
Connection connection = mock(Connection.class);
cachedConnections.put("ignoredDataSourceName", connection);
return connection;
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void verifyConnectionPostProcessorsEmpty() {
- Collection<ConnectionPostProcessor> connectionPostProcessors = (Collection<ConnectionPostProcessor>) new FieldReader(
- backendConnection, BackendConnection.class.getDeclaredField("connectionPostProcessors")).read();
+ Collection<ConnectionPostProcessor> connectionPostProcessors = (Collection<ConnectionPostProcessor>) Plugins.getMemberAccessor()
+ .get(BackendConnection.class.getDeclaredField("connectionPostProcessors"), backendConnection);
assertTrue(connectionPostProcessors.isEmpty());
}
@@ -394,13 +396,13 @@ public final class BackendConnectionTest extends ProxyContextRestorer {
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private Collection<ProxyBackendHandler> getDatabaseCommunicationEngines() {
- return (Collection<ProxyBackendHandler>) new FieldReader(backendConnection, BackendConnection.class.getDeclaredField("backendHandlers")).read();
+ return (Collection<ProxyBackendHandler>) Plugins.getMemberAccessor().get(BackendConnection.class.getDeclaredField("backendHandlers"), backendConnection);
}
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private Collection<ProxyBackendHandler> getInUseDatabaseCommunicationEngines() {
- return (Collection<ProxyBackendHandler>) new FieldReader(backendConnection, BackendConnection.class.getDeclaredField("inUseBackendHandlers")).read();
+ return (Collection<ProxyBackendHandler>) Plugins.getMemberAccessor().get(BackendConnection.class.getDeclaredField("inUseBackendHandlers"), backendConnection);
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
index 4a2dc471e87..7e73528116e 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/MockConnectionUtil.java
@@ -23,7 +23,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.SneakyThrows;
import org.apache.shardingsphere.proxy.backend.communication.BackendConnection;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.Connection;
import java.util.ArrayList;
@@ -44,11 +44,11 @@ final class MockConnectionUtil {
* @param dataSourceName datasource name
* @param connectionSize connection size
*/
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
static void setCachedConnections(final BackendConnection backendConnection, final String dataSourceName, final int connectionSize) {
Multimap<String, Connection> cachedConnections = HashMultimap.create();
cachedConnections.putAll(backendConnection.getConnectionSession().getDatabaseName() + "." + dataSourceName, mockNewConnections(connectionSize));
- new InstanceField(backendConnection.getClass().getDeclaredField("cachedConnections"), backendConnection).set(cachedConnections);
+ Plugins.getMemberAccessor().set(backendConnection.getClass().getDeclaredField("cachedConnections"), backendConnection, cachedConnections);
}
/**
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/BackendTransactionManagerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/BackendTransactionManagerTest.java
index 9ac343ddcfe..e03a7bb13f5 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/BackendTransactionManagerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/transaction/BackendTransactionManagerTest.java
@@ -35,7 +35,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -172,6 +172,6 @@ public final class BackendTransactionManagerTest extends ProxyContextRestorer {
@SneakyThrows(ReflectiveOperationException.class)
private void setLocalTransactionManager() {
- new InstanceField(BackendTransactionManager.class.getDeclaredField("localTransactionManager"), backendTransactionManager).set(localTransactionManager);
+ Plugins.getMemberAccessor().set(BackendTransactionManager.class.getDeclaredField("localTransactionManager"), backendTransactionManager, localTransactionManager);
}
}
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
index 77f4fef8af2..3dc8d7d3992 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/mysql/executor/ShowProcessListExecutorTest.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.proxy.backend.util.ProxyContextRestorer;
import org.apache.shardingsphere.transaction.api.TransactionType;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.SQLException;
import java.util.Collections;
@@ -42,13 +42,13 @@ public final class ShowProcessListExecutorTest extends ProxyContextRestorer {
private ShowProcessListExecutor showProcessListExecutor;
@Before
- public void setUp() throws NoSuchFieldException, IllegalAccessException {
+ public void setUp() throws ReflectiveOperationException {
ProxyContext.init(mock(ContextManager.class, RETURNS_DEEP_STUBS));
showProcessListExecutor = new ShowProcessListExecutor();
setupBatchProcessContexts();
}
- private void setupBatchProcessContexts() throws NoSuchFieldException {
+ private void setupBatchProcessContexts() throws ReflectiveOperationException {
String executionNodeValue = "contexts:\n"
+ "- executionID: f6c2336a-63ba-41bf-941e-2e3504eb2c80\n"
+ " sql: alter table t_order add column a varchar(64) after order_id\n"
@@ -61,7 +61,7 @@ public final class ShowProcessListExecutorTest extends ProxyContextRestorer {
+ " unitID: unitID1\n"
+ " - status: EXECUTE_STATUS_DONE\n"
+ " unitID: unitID2\n";
- new InstanceField(showProcessListExecutor.getClass().getDeclaredField("batchProcessContexts"), showProcessListExecutor).set(Collections.singleton(executionNodeValue));
+ Plugins.getMemberAccessor().set(showProcessListExecutor.getClass().getDeclaredField("batchProcessContexts"), showProcessListExecutor, Collections.singleton(executionNodeValue));
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
index e70fdb34c28..f0c11dc4cdb 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/admin/opengauss/OpenGaussAdminExecutorFactoryTest.java
@@ -24,7 +24,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.Collections;
@@ -47,9 +47,9 @@ public final class OpenGaussAdminExecutorFactoryTest {
private OpenGaussAdminExecutorCreator openGaussAdminExecutorFactory;
@Before
- public void setup() throws IllegalAccessException, NoSuchFieldException {
+ public void setup() throws ReflectiveOperationException {
openGaussAdminExecutorFactory = new OpenGaussAdminExecutorCreator();
- new InstanceField(OpenGaussAdminExecutorCreator.class.getDeclaredField("delegated"), openGaussAdminExecutorFactory).set(postgreSQLAdminExecutorFactory);
+ Plugins.getMemberAccessor().set(OpenGaussAdminExecutorCreator.class.getDeclaredField("delegated"), openGaussAdminExecutorFactory, postgreSQLAdminExecutorFactory);
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
index 3bcdabb313c..57f92f8ca4d 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandlerTest.java
@@ -42,7 +42,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -108,9 +108,10 @@ public final class UnicastDatabaseBackendHandlerTest extends ProxyContextRestore
when(databaseCommunicationEngineFactory.newDatabaseCommunicationEngine(any(QueryContext.class), any(BackendConnection.class), eq(false))).thenReturn(databaseCommunicationEngine);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setBackendHandlerFactory(final DatabaseBackendHandler schemaDatabaseBackendHandler) {
- new InstanceField(schemaDatabaseBackendHandler.getClass().getDeclaredField("databaseCommunicationEngineFactory"), schemaDatabaseBackendHandler).set(databaseCommunicationEngineFactory);
+ Plugins.getMemberAccessor()
+ .set(schemaDatabaseBackendHandler.getClass().getDeclaredField("databaseCommunicationEngineFactory"), schemaDatabaseBackendHandler, databaseCommunicationEngineFactory);
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
index 6c520f3e8de..39ede4e6644 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportDatabaseConfigurationHandlerTest.java
@@ -38,10 +38,11 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.DataSource;
+import java.sql.SQLException;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -95,40 +96,40 @@ public final class ImportDatabaseConfigurationHandlerTest extends ProxyContextRe
}
@Test(expected = IllegalStateException.class)
- public void assertImportDatabaseExecutorForSharding() throws Exception {
+ public void assertImportDatabaseExecutorForSharding() throws ReflectiveOperationException, SQLException {
init(sharding);
- new InstanceField(importDatabaseConfigurationHandler.getClass().getDeclaredField("shardingRuleConfigurationImportChecker"),
- importDatabaseConfigurationHandler).set(shardingRuleConfigurationImportChecker);
+ Plugins.getMemberAccessor().set(importDatabaseConfigurationHandler.getClass().getDeclaredField("shardingRuleConfigurationImportChecker"),
+ importDatabaseConfigurationHandler, shardingRuleConfigurationImportChecker);
assertNotNull(ProxyContext.getInstance().getContextManager().getDataSourceMap(sharding));
assertNotNull(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(sharding).getRuleMetaData().getConfigurations());
assertThat(importDatabaseConfigurationHandler.execute(), instanceOf(UpdateResponseHeader.class));
}
@Test(expected = IllegalStateException.class)
- public void assertImportDatabaseExecutorForReadwriteSplitting() throws Exception {
+ public void assertImportDatabaseExecutorForReadwriteSplitting() throws ReflectiveOperationException, SQLException {
init(readwriteSplitting);
- new InstanceField(importDatabaseConfigurationHandler.getClass().getDeclaredField("readwriteSplittingRuleConfigurationImportChecker"),
- importDatabaseConfigurationHandler).set(readwriteSplittingRuleConfigurationImportChecker);
+ Plugins.getMemberAccessor().set(importDatabaseConfigurationHandler.getClass().getDeclaredField("readwriteSplittingRuleConfigurationImportChecker"),
+ importDatabaseConfigurationHandler, readwriteSplittingRuleConfigurationImportChecker);
assertNotNull(ProxyContext.getInstance().getContextManager().getDataSourceMap(readwriteSplitting));
assertNotNull(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(readwriteSplitting).getRuleMetaData().getConfigurations());
assertThat(importDatabaseConfigurationHandler.execute(), instanceOf(UpdateResponseHeader.class));
}
@Test(expected = IllegalStateException.class)
- public void assertImportDatabaseExecutorForDatabaseDiscovery() throws Exception {
+ public void assertImportDatabaseExecutorForDatabaseDiscovery() throws ReflectiveOperationException, SQLException {
init(databaseDiscovery);
- new InstanceField(importDatabaseConfigurationHandler.getClass().getDeclaredField("databaseDiscoveryRuleConfigurationImportChecker"),
- importDatabaseConfigurationHandler).set(databaseDiscoveryRuleConfigurationImportChecker);
+ Plugins.getMemberAccessor().set(importDatabaseConfigurationHandler.getClass().getDeclaredField("databaseDiscoveryRuleConfigurationImportChecker"),
+ importDatabaseConfigurationHandler, databaseDiscoveryRuleConfigurationImportChecker);
assertNotNull(ProxyContext.getInstance().getContextManager().getDataSourceMap(databaseDiscovery));
assertNotNull(ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getDatabase(databaseDiscovery).getRuleMetaData().getConfigurations());
assertThat(importDatabaseConfigurationHandler.execute(), instanceOf(UpdateResponseHeader.class));
}
- private void init(final String feature) throws Exception {
+ private void init(final String feature) throws ReflectiveOperationException {
ImportDatabaseConfigurationHandler handler = importDatabaseConfigurationHandler = new ImportDatabaseConfigurationHandler();
handler.init(new ImportDatabaseConfigurationStatement(Objects.requireNonNull(ImportDatabaseConfigurationHandlerTest.class.getResource(featureMap.get(feature))).getPath()),
mock(ConnectionSession.class));
- new InstanceField(importDatabaseConfigurationHandler.getClass().getDeclaredField("validateHandler"), importDatabaseConfigurationHandler).set(validateHandler);
+ Plugins.getMemberAccessor().set(importDatabaseConfigurationHandler.getClass().getDeclaredField("validateHandler"), importDatabaseConfigurationHandler, validateHandler);
ContextManager contextManager = mock(ContextManager.class, RETURNS_DEEP_STUBS);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getSchema(DefaultDatabase.LOGIC_NAME)).thenReturn(new ShardingSphereSchema(createTableMap(), Collections.emptyMap()));
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/AlterStorageUnitBackendHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/AlterStorageUnitBackendHandlerTest.java
index cef3148334e..89ce020467e 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/AlterStorageUnitBackendHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/AlterStorageUnitBackendHandlerTest.java
@@ -41,7 +41,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import javax.sql.DataSource;
@@ -83,12 +83,12 @@ public final class AlterStorageUnitBackendHandlerTest extends ProxyContextRestor
private AlterStorageUnitBackendHandler alterStorageUnitBackendHandler;
@Before
- public void setUp() throws Exception {
+ public void setUp() throws ReflectiveOperationException {
when(metaDataContexts.getMetaData().getDatabase("test_db")).thenReturn(database);
when(metaDataContexts.getMetaData().containsDatabase("test_db")).thenReturn(true);
when(connectionSession.getProtocolType()).thenReturn(new MySQLDatabaseType());
alterStorageUnitBackendHandler = new AlterStorageUnitBackendHandler(alterStorageUnitStatement, connectionSession);
- new InstanceField(alterStorageUnitBackendHandler.getClass().getDeclaredField("validateHandler"), alterStorageUnitBackendHandler).set(validateHandler);
+ Plugins.getMemberAccessor().set(alterStorageUnitBackendHandler.getClass().getDeclaredField("validateHandler"), alterStorageUnitBackendHandler, validateHandler);
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/RegisterStorageUnitBackendHandlerTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/RegisterStorageUnitBackendHandlerTest.java
index db1eea1c09d..ffad5ec1647 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/RegisterStorageUnitBackendHandlerTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rdl/resource/RegisterStorageUnitBackendHandlerTest.java
@@ -43,7 +43,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.Collection;
@@ -95,7 +95,7 @@ public final class RegisterStorageUnitBackendHandlerTest extends ProxyContextRes
when(database.getRuleMetaData()).thenReturn(ruleMetaData);
when(ruleMetaData.findSingleRule(ReadwriteSplittingRule.class)).thenReturn(Optional.of(readwriteSplittingRule));
registerStorageUnitBackendHandler = new RegisterStorageUnitBackendHandler(registerStorageUnitStatement, connectionSession);
- new InstanceField(registerStorageUnitBackendHandler.getClass().getDeclaredField("validateHandler"), registerStorageUnitBackendHandler).set(validateHandler);
+ Plugins.getMemberAccessor().set(registerStorageUnitBackendHandler.getClass().getDeclaredField("validateHandler"), registerStorageUnitBackendHandler, validateHandler);
}
@Test
diff --git a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
index 7681bd21ccc..0e6d36cf209 100644
--- a/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
+++ b/proxy/backend/src/test/java/org/apache/shardingsphere/proxy/backend/handler/transaction/TransactionBackendHandlerFactoryTest.java
@@ -40,7 +40,7 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.Answers;
import org.mockito.MockedStatic;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
@@ -111,12 +111,12 @@ public final class TransactionBackendHandlerFactoryTest extends ProxyContextRest
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private <S, T> void assertFieldOfInstance(final S classInstance, final String fieldName, final Matcher<T> matcher) {
- T value = (T) new FieldReader(classInstance, classInstance.getClass().getDeclaredField(fieldName)).read();
+ T value = (T) Plugins.getMemberAccessor().get(classInstance.getClass().getDeclaredField(fieldName), classInstance);
assertThat(value, matcher);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private BackendTransactionManager getBackendTransactionManager(final TransactionBackendHandler transactionBackendHandler) {
- return (BackendTransactionManager) new FieldReader(transactionBackendHandler, transactionBackendHandler.getClass().getDeclaredField("backendTransactionManager")).read();
+ return (BackendTransactionManager) Plugins.getMemberAccessor().get(transactionBackendHandler.getClass().getDeclaredField("backendTransactionManager"), transactionBackendHandler);
}
}
diff --git a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/connection/ConnectionIdGeneratorTest.java b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/connection/ConnectionIdGeneratorTest.java
index c1598f95aa8..56e584dd544 100644
--- a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/connection/ConnectionIdGeneratorTest.java
+++ b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/connection/ConnectionIdGeneratorTest.java
@@ -21,7 +21,7 @@ import lombok.SneakyThrows;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -47,6 +47,6 @@ public final class ConnectionIdGeneratorTest {
@SneakyThrows(ReflectiveOperationException.class)
private void setCurrentConnectionId(final int connectionId) {
- new InstanceField(ConnectionIdGenerator.class.getDeclaredField("currentId"), ConnectionIdGenerator.getInstance()).set(connectionId);
+ Plugins.getMemberAccessor().set(ConnectionIdGenerator.class.getDeclaredField("currentId"), ConnectionIdGenerator.getInstance(), connectionId);
}
}
diff --git a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandlerTest.java b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandlerTest.java
index 6f82f86a71e..44647d1bc97 100644
--- a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandlerTest.java
+++ b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/netty/FrontendChannelInboundHandlerTest.java
@@ -38,7 +38,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockedStatic;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
@@ -86,9 +86,9 @@ public final class FrontendChannelInboundHandlerTest {
connectionSession = getConnectionSession();
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private ConnectionSession getConnectionSession() {
- return (ConnectionSession) new FieldReader(frontendChannelInboundHandler, FrontendChannelInboundHandler.class.getDeclaredField("connectionSession")).read();
+ return (ConnectionSession) Plugins.getMemberAccessor().get(FrontendChannelInboundHandler.class.getDeclaredField("connectionSession"), frontendChannelInboundHandler);
}
@Test
diff --git a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
index cbda2c2fad9..6e0ece34b75 100644
--- a/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
+++ b/proxy/frontend/core/src/test/java/org/apache/shardingsphere/proxy/frontend/state/impl/OKProxyStateTest.java
@@ -36,7 +36,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.Map;
@@ -110,10 +110,10 @@ public final class OKProxyStateTest extends ProxyContextRestorer {
}
@SuppressWarnings({"unchecked", "SameParameterValue"})
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private ExecutorService registerMockExecutorService(final int connectionId) {
- Map<Integer, ExecutorService> executorServices = (Map<Integer, ExecutorService>) new FieldReader(
- ConnectionThreadExecutorGroup.getInstance(), ConnectionThreadExecutorGroup.class.getDeclaredField("executorServices")).read();
+ Map<Integer, ExecutorService> executorServices = (Map<Integer, ExecutorService>) Plugins.getMemberAccessor()
+ .get(ConnectionThreadExecutorGroup.class.getDeclaredField("executorServices"), ConnectionThreadExecutorGroup.getInstance());
ExecutorService result = mock(ExecutorService.class);
executorServices.put(connectionId, result);
return result;
diff --git a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
index 4d7c1358f9b..a1ee717712a 100644
--- a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
+++ b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
@@ -51,7 +51,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.net.InetAddress;
@@ -100,9 +100,9 @@ public final class MySQLFrontendEngineTest extends ProxyContextRestorer {
when(channel.attr(MySQLConstants.MYSQL_CHARACTER_SET_ATTRIBUTE_KEY)).thenReturn(mock(Attribute.class));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void resetConnectionIdGenerator() {
- new InstanceField(ConnectionIdGenerator.class.getDeclaredField("currentId"), ConnectionIdGenerator.getInstance()).set(0);
+ Plugins.getMemberAccessor().set(ConnectionIdGenerator.class.getDeclaredField("currentId"), ConnectionIdGenerator.getInstance(), 0);
mysqlFrontendEngine = new MySQLFrontendEngine();
}
@@ -157,9 +157,9 @@ public final class MySQLFrontendEngineTest extends ProxyContextRestorer {
verify(context).writeAndFlush(argThat((ArgumentMatcher<MySQLErrPacket>) argument -> "Access denied for user 'root'@'192.168.0.102' (using password: YES)".equals(argument.getErrorMessage())));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setConnectionPhase(final MySQLConnectionPhase connectionPhase) {
- new InstanceField(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"), mysqlFrontendEngine.getAuthenticationEngine()).set(connectionPhase);
+ Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"), mysqlFrontendEngine.getAuthenticationEngine(), connectionPhase);
}
private void initProxyContext(final ShardingSphereUser user) {
diff --git a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
index 270be03ddb1..94c7736b826 100644
--- a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
+++ b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationEngineTest.java
@@ -44,8 +44,7 @@ import org.apache.shardingsphere.proxy.frontend.mysql.ProxyContextRestorer;
import org.apache.shardingsphere.proxy.frontend.mysql.authentication.authenticator.MySQLNativePasswordAuthenticator;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
@@ -74,12 +73,13 @@ public final class MySQLAuthenticationEngineTest extends ProxyContextRestorer {
private final byte[] authResponse = {-27, 89, -20, -27, 65, -120, -64, -101, 86, -100, -108, -100, 6, -125, -37, 117, 14, -43, 95, -113};
@Before
- public void setUp() throws NoSuchFieldException {
+ public void setUp() {
initAuthenticationHandlerForAuthenticationEngine();
}
- private void initAuthenticationHandlerForAuthenticationEngine() throws NoSuchFieldException {
- new InstanceField(MySQLAuthenticationEngine.class.getDeclaredField("authenticationHandler"), authenticationEngine).set(authenticationHandler);
+ @SneakyThrows(ReflectiveOperationException.class)
+ private void initAuthenticationHandlerForAuthenticationEngine() {
+ Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("authenticationHandler"), authenticationEngine, authenticationHandler);
}
@Test
@@ -122,9 +122,9 @@ public final class MySQLAuthenticationEngineTest extends ProxyContextRestorer {
assertThat(getAuthResponse(), is(authResponse));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setAuthenticationResult() {
- new InstanceField(MySQLAuthenticationEngine.class.getDeclaredField("currentAuthResult"), authenticationEngine).set(AuthenticationResultBuilder.continued("root", "", "sharding_db"));
+ Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("currentAuthResult"), authenticationEngine, AuthenticationResultBuilder.continued("root", "", "sharding_db"));
}
@Test
@@ -209,18 +209,18 @@ public final class MySQLAuthenticationEngineTest extends ProxyContextRestorer {
return result;
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setConnectionPhase(final MySQLConnectionPhase connectionPhase) {
- new InstanceField(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"), authenticationEngine).set(connectionPhase);
+ Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"), authenticationEngine, connectionPhase);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private MySQLConnectionPhase getConnectionPhase() {
- return (MySQLConnectionPhase) new FieldReader(authenticationEngine, MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase")).read();
+ return (MySQLConnectionPhase) Plugins.getMemberAccessor().get(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"), authenticationEngine);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private byte[] getAuthResponse() {
- return (byte[]) new FieldReader(authenticationEngine, MySQLAuthenticationEngine.class.getDeclaredField("authResponse")).read();
+ return (byte[]) Plugins.getMemberAccessor().get(MySQLAuthenticationEngine.class.getDeclaredField("authResponse"), authenticationEngine);
}
}
diff --git a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
index 8826dcd682c..30030add1b3 100644
--- a/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
+++ b/proxy/frontend/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/authentication/MySQLAuthenticationHandlerTest.java
@@ -42,7 +42,7 @@ import org.apache.shardingsphere.proxy.frontend.mysql.authentication.authenticat
import org.apache.shardingsphere.proxy.frontend.mysql.authentication.authenticator.MySQLNativePasswordAuthenticator;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Collections;
import java.util.HashMap;
@@ -76,7 +76,7 @@ public final class MySQLAuthenticationHandlerTest extends ProxyContextRestorer {
@SneakyThrows(ReflectiveOperationException.class)
private void initAuthPluginDataForAuthenticationHandler() {
MySQLAuthPluginData authPluginData = new MySQLAuthPluginData(part1, part2);
- new InstanceField(MySQLAuthenticationHandler.class.getDeclaredField("authPluginData"), authenticationHandler).set(authPluginData);
+ Plugins.getMemberAccessor().set(MySQLAuthenticationHandler.class.getDeclaredField("authPluginData"), authenticationHandler, authPluginData);
}
@Test
@@ -134,7 +134,7 @@ public final class MySQLAuthenticationHandlerTest extends ProxyContextRestorer {
ProxyContext.init(contextManager);
}
- private MetaDataContexts getMetaDataContexts(final ShardingSphereUser user, final boolean isNeedSuper) throws NoSuchFieldException, IllegalAccessException {
+ private MetaDataContexts getMetaDataContexts(final ShardingSphereUser user, final boolean isNeedSuper) throws ReflectiveOperationException {
return new MetaDataContexts(mock(MetaDataPersistService.class),
new ShardingSphereMetaData(getDatabases(), buildGlobalRuleMetaData(user, isNeedSuper), new ConfigurationProperties(new Properties())));
}
@@ -149,13 +149,13 @@ public final class MySQLAuthenticationHandlerTest extends ProxyContextRestorer {
return result;
}
- private ShardingSphereRuleMetaData buildGlobalRuleMetaData(final ShardingSphereUser user, final boolean isNeedSuper) throws NoSuchFieldException, IllegalAccessException {
+ private ShardingSphereRuleMetaData buildGlobalRuleMetaData(final ShardingSphereUser user, final boolean isNeedSuper) throws ReflectiveOperationException {
AuthorityRuleConfiguration ruleConfig = new AuthorityRuleConfiguration(Collections.singletonList(user), new AlgorithmConfiguration("ALL_PERMITTED", new Properties()));
AuthorityRule rule = new AuthorityRuleBuilder().build(ruleConfig, Collections.emptyMap(), mock(InstanceContext.class), mock(ConfigurationProperties.class));
if (!isNeedSuper) {
AuthorityRegistry authorityRegistry = mock(AuthorityRegistry.class);
when(authorityRegistry.findPrivileges(user.getGrantee())).thenReturn(Optional.empty());
- new InstanceField(AuthorityRule.class.getDeclaredField("authorityRegistry"), rule).set(authorityRegistry);
+ Plugins.getMemberAccessor().set(AuthorityRule.class.getDeclaredField("authorityRegistry"), rule, authorityRegistry);
}
return new ShardingSphereRuleMetaData(Collections.singletonList(rule));
}
diff --git a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
index d6c8cb3f7a8..34b4a3e03d6 100644
--- a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
+++ b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/OpenGaussFrontendEngineTest.java
@@ -26,7 +26,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.instanceOf;
@@ -43,8 +43,8 @@ public final class OpenGaussFrontendEngineTest {
private PostgreSQLFrontendEngine mockPostgreSQLFrontendEngine;
@Before
- public void setup() throws NoSuchFieldException {
- new InstanceField(OpenGaussFrontendEngine.class.getDeclaredField("postgreSQLFrontendEngine"), openGaussFrontendEngine).set(mockPostgreSQLFrontendEngine);
+ public void setup() throws ReflectiveOperationException {
+ Plugins.getMemberAccessor().set(OpenGaussFrontendEngine.class.getDeclaredField("postgreSQLFrontendEngine"), openGaussFrontendEngine, mockPostgreSQLFrontendEngine);
}
@Test
diff --git a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/authentication/OpenGaussAuthenticationEngineTest.java b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/authentication/OpenGaussAuthenticationEngineTest.java
index 09955ae5675..0ac148d807c 100644
--- a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/authentication/OpenGaussAuthenticationEngineTest.java
+++ b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/authentication/OpenGaussAuthenticationEngineTest.java
@@ -52,8 +52,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.nio.charset.StandardCharsets;
@@ -115,9 +114,9 @@ public final class OpenGaussAuthenticationEngineTest extends ProxyContextRestore
authenticationEngine.authenticate(channelHandlerContext, payload);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setAlreadyReceivedStartupMessage(final OpenGaussAuthenticationEngine target) {
- new InstanceField(OpenGaussAuthenticationEngine.class.getDeclaredField("startupMessageReceived"), target).set(true);
+ Plugins.getMemberAccessor().set(OpenGaussAuthenticationEngine.class.getDeclaredField("startupMessageReceived"), target, true);
}
@Test
@@ -176,19 +175,19 @@ public final class OpenGaussAuthenticationEngineTest extends ProxyContextRestore
return new ShardingSphereRuleMetaData(Collections.singletonList(rule));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private byte[] getRandom64Code(final OpenGaussAuthenticationSCRAMSha256Packet packet) {
- return (byte[]) new FieldReader(packet, OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("random64Code")).read();
+ return (byte[]) Plugins.getMemberAccessor().get(OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("random64Code"), packet);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private byte[] getToken(final OpenGaussAuthenticationSCRAMSha256Packet packet) {
- return (byte[]) new FieldReader(packet, OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("token")).read();
+ return (byte[]) Plugins.getMemberAccessor().get(OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("token"), packet);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private int getServerIteration(final OpenGaussAuthenticationSCRAMSha256Packet packet) {
- return (int) new FieldReader(packet, OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("serverIteration")).read();
+ return (int) Plugins.getMemberAccessor().get(OpenGaussAuthenticationSCRAMSha256Packet.class.getDeclaredField("serverIteration"), packet);
}
private String encodeDigest(final String password, final String random64code, final String token, final int serverIteration) {
diff --git a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/OpenGaussCommandExecutorFactoryTest.java b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/OpenGaussCommandExecutorFactoryTest.java
index f957f21076d..9de835ba917 100644
--- a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/OpenGaussCommandExecutorFactoryTest.java
+++ b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/OpenGaussCommandExecutorFactoryTest.java
@@ -48,7 +48,7 @@ import org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extende
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -149,8 +149,8 @@ public final class OpenGaussCommandExecutorFactoryTest {
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private static List<CommandExecutor> getExecutorsFromAggregatedCommandExecutor(final PostgreSQLAggregatedCommandExecutor executor) {
- return (List<CommandExecutor>) new FieldReader(executor, PostgreSQLAggregatedCommandExecutor.class.getDeclaredField("executors")).read();
+ return (List<CommandExecutor>) Plugins.getMemberAccessor().get(PostgreSQLAggregatedCommandExecutor.class.getDeclaredField("executors"), executor);
}
}
diff --git a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
index cf16b71732f..4d2913e0e70 100644
--- a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
+++ b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/simple/OpenGaussComQueryExecutorTest.java
@@ -37,7 +37,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -73,9 +73,9 @@ public final class OpenGaussComQueryExecutorTest {
setMockFieldIntoExecutor(queryExecutor);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setMockFieldIntoExecutor(final OpenGaussComQueryExecutor executor) {
- new InstanceField(OpenGaussComQueryExecutor.class.getDeclaredField("proxyBackendHandler"), executor).set(proxyBackendHandler);
+ Plugins.getMemberAccessor().set(OpenGaussComQueryExecutor.class.getDeclaredField("proxyBackendHandler"), executor, proxyBackendHandler);
}
@Test
diff --git a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/err/OpenGaussErrorPacketFactoryTest.java b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/err/OpenGaussErrorPacketFactoryTest.java
index 5740aac1be9..fe551f2a9c8 100644
--- a/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/err/OpenGaussErrorPacketFactoryTest.java
+++ b/proxy/frontend/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/err/OpenGaussErrorPacketFactoryTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.proxy.frontend.opengauss.err;
import lombok.SneakyThrows;
import org.apache.shardingsphere.db.protocol.opengauss.packet.command.generic.OpenGaussErrorResponsePacket;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.opengauss.util.PSQLException;
import org.opengauss.util.ServerErrorMessage;
@@ -82,8 +82,8 @@ public final class OpenGaussErrorPacketFactoryTest {
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private static Map<Character, String> getFieldsInPacket(final OpenGaussErrorResponsePacket packet) {
- return (Map<Character, String>) new FieldReader(packet, OpenGaussErrorResponsePacket.class.getDeclaredField("fields")).read();
+ return (Map<Character, String>) Plugins.getMemberAccessor().get(OpenGaussErrorResponsePacket.class.getDeclaredField("fields"), packet);
}
}
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/PostgreSQLFrontendEngineTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/PostgreSQLFrontendEngineTest.java
index d021c129a44..f0af4ec7265 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/PostgreSQLFrontendEngineTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/PostgreSQLFrontendEngineTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.proxy.frontend.executor.ConnectionThreadExecuto
import org.apache.shardingsphere.proxy.frontend.postgresql.command.PortalContext;
import org.apache.shardingsphere.proxy.frontend.postgresql.command.PostgreSQLPortalContextRegistry;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.concurrent.ConcurrentMap;
@@ -50,6 +50,7 @@ public final class PostgreSQLFrontendEngineTest {
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private ConcurrentMap<Integer, PortalContext> getPortalContexts() {
- return (ConcurrentMap<Integer, PortalContext>) new FieldReader(PostgreSQLPortalContextRegistry.getInstance(), PostgreSQLPortalContextRegistry.class.getDeclaredField("portalContexts")).read();
+ return (ConcurrentMap<Integer, PortalContext>) Plugins.getMemberAccessor()
+ .get(PostgreSQLPortalContextRegistry.class.getDeclaredField("portalContexts"), PostgreSQLPortalContextRegistry.getInstance());
}
}
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
index 6e2f7727200..bf6907a8387 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/authentication/PostgreSQLAuthenticationEngineTest.java
@@ -53,8 +53,6 @@ import org.mockito.Answers;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.internal.configuration.plugins.Plugins;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
import org.mockito.junit.MockitoJUnitRunner;
import java.nio.charset.StandardCharsets;
@@ -117,9 +115,9 @@ public final class PostgreSQLAuthenticationEngineTest extends ProxyContextRestor
authenticationEngine.authenticate(channelHandlerContext, payload);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setAlreadyReceivedStartupMessage(final PostgreSQLAuthenticationEngine target) {
- new InstanceField(PostgreSQLAuthenticationEngine.class.getDeclaredField("startupMessageReceived"), target).set(true);
+ Plugins.getMemberAccessor().set(PostgreSQLAuthenticationEngine.class.getDeclaredField("startupMessageReceived"), target, true);
}
@Test
@@ -184,8 +182,8 @@ public final class PostgreSQLAuthenticationEngineTest extends ProxyContextRestor
return new ShardingSphereRuleMetaData(Collections.singleton(rule));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private byte[] getMd5Salt(final PostgreSQLMD5PasswordAuthenticationPacket md5PasswordPacket) {
- return (byte[]) new FieldReader(md5PasswordPacket, PostgreSQLMD5PasswordAuthenticationPacket.class.getDeclaredField("md5Salt")).read();
+ return (byte[]) Plugins.getMemberAccessor().get(PostgreSQLMD5PasswordAuthenticationPacket.class.getDeclaredField("md5Salt"), md5PasswordPacket);
}
}
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecutorFactoryTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecutorFactoryTest.java
index 84d08266a10..ee1b0984590 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecutorFactoryTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/PostgreSQLCommandExecutorFactoryTest.java
@@ -47,7 +47,7 @@ import org.apache.shardingsphere.proxy.frontend.postgresql.command.query.simple.
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -152,9 +152,9 @@ public final class PostgreSQLCommandExecutorFactoryTest {
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private static List<CommandExecutor> getExecutorsFromAggregatedCommandExecutor(final PostgreSQLAggregatedCommandExecutor executor) {
- return (List<CommandExecutor>) new FieldReader(executor, PostgreSQLAggregatedCommandExecutor.class.getDeclaredField("executors")).read();
+ return (List<CommandExecutor>) Plugins.getMemberAccessor().get(PostgreSQLAggregatedCommandExecutor.class.getDeclaredField("executors"), executor);
}
@RequiredArgsConstructor
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutorTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutorTest.java
index 06408a0a16e..0aba4df354c 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutorTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLBatchedStatementsExecutorTest.java
@@ -45,7 +45,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.InOrder;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.Connection;
@@ -134,8 +134,7 @@ public final class PostgreSQLBatchedStatementsExecutorTest extends ProxyContextR
@SuppressWarnings("unchecked")
@SneakyThrows(ReflectiveOperationException.class)
private void prepareExecutionUnitParameters(final PostgreSQLBatchedStatementsExecutor target, final List<List<Object>> parameterSets) {
- Map<ExecutionUnit, List<List<Object>>> map = (Map<ExecutionUnit, List<List<Object>>>) new FieldReader(
- target, PostgreSQLBatchedStatementsExecutor.class.getDeclaredField("executionUnitParams")).read();
- map.replaceAll((k, v) -> parameterSets);
+ ((Map<ExecutionUnit, List<List<Object>>>) Plugins.getMemberAccessor().get(PostgreSQLBatchedStatementsExecutor.class.getDeclaredField("executionUnitParams"), target))
+ .replaceAll((k, v) -> parameterSets);
}
}
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
index bd3f03c12aa..51e23f5aead 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
@@ -58,7 +58,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.Connection;
@@ -313,9 +313,9 @@ public final class PostgreSQLComDescribeExecutorTest extends ProxyContextRestore
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private Collection<PostgreSQLColumnDescription> getColumnDescriptionsFromPacket(final PostgreSQLRowDescriptionPacket packet) {
- return (Collection<PostgreSQLColumnDescription>) new FieldReader(packet, PostgreSQLRowDescriptionPacket.class.getDeclaredField("columnDescriptions")).read();
+ return (Collection<PostgreSQLColumnDescription>) Plugins.getMemberAccessor().get(PostgreSQLRowDescriptionPacket.class.getDeclaredField("columnDescriptions"), packet);
}
@SuppressWarnings("rawtypes")
@@ -380,9 +380,9 @@ public final class PostgreSQLComDescribeExecutorTest extends ProxyContextRestore
}
@SuppressWarnings("unchecked")
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private List<PostgreSQLColumnDescription> getColumnDescriptions(final PostgreSQLRowDescriptionPacket packet) {
- return (List<PostgreSQLColumnDescription>) new FieldReader(packet, PostgreSQLRowDescriptionPacket.class.getDeclaredField("columnDescriptions")).read();
+ return (List<PostgreSQLColumnDescription>) Plugins.getMemberAccessor().get(PostgreSQLRowDescriptionPacket.class.getDeclaredField("columnDescriptions"), packet);
}
@Test(expected = UnsupportedSQLOperationException.class)
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
index 27e84fe6e7b..3918893e213 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/parse/PostgreSQLComParseExecutorTest.java
@@ -44,7 +44,7 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.util.Arrays;
@@ -130,9 +130,9 @@ public final class PostgreSQLComParseExecutorTest extends ProxyContextRestorer {
assertThat(actualPreparedStatement.getParameterTypes(), is(Arrays.asList(PostgreSQLColumnType.POSTGRESQL_TYPE_INT4, PostgreSQLColumnType.POSTGRESQL_TYPE_UNSPECIFIED)));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setConnectionSession() {
- new InstanceField(PostgreSQLComParseExecutor.class.getDeclaredField("connectionSession"), executor).set(connectionSession);
+ Plugins.getMemberAccessor().set(PostgreSQLComParseExecutor.class.getDeclaredField("connectionSession"), executor, connectionSession);
}
@Test
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
index b73dda01bcf..1166d964da1 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/simple/PostgreSQLComQueryExecutorTest.java
@@ -37,7 +37,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.mockito.junit.MockitoJUnitRunner;
import java.sql.SQLException;
@@ -73,9 +73,9 @@ public final class PostgreSQLComQueryExecutorTest {
setMockFieldIntoExecutor(queryExecutor);
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private void setMockFieldIntoExecutor(final PostgreSQLComQueryExecutor executor) {
- new InstanceField(PostgreSQLComQueryExecutor.class.getDeclaredField("proxyBackendHandler"), executor).set(proxyBackendHandler);
+ Plugins.getMemberAccessor().set(PostgreSQLComQueryExecutor.class.getDeclaredField("proxyBackendHandler"), executor, proxyBackendHandler);
}
@Test
diff --git a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/err/PostgreSQLErrPacketFactoryTest.java b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/err/PostgreSQLErrPacketFactoryTest.java
index 2ff25e661c1..6191d10ce0a 100644
--- a/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/err/PostgreSQLErrPacketFactoryTest.java
+++ b/proxy/frontend/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/err/PostgreSQLErrPacketFactoryTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.proxy.frontend.postgresql.err;
import org.apache.shardingsphere.db.protocol.postgresql.constant.PostgreSQLMessageSeverityLevel;
import org.apache.shardingsphere.db.protocol.postgresql.packet.generic.PostgreSQLErrorResponsePacket;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import org.postgresql.util.PSQLException;
import org.postgresql.util.PSQLState;
import org.postgresql.util.ServerErrorMessage;
@@ -36,14 +36,14 @@ import static org.mockito.Mockito.when;
public final class PostgreSQLErrPacketFactoryTest {
@Test
- public void assertPSQLExceptionWithServerErrorMessageNotNull() throws NoSuchFieldException {
+ public void assertPSQLExceptionWithServerErrorMessageNotNull() throws ReflectiveOperationException {
ServerErrorMessage serverErrorMessage = mock(ServerErrorMessage.class);
when(serverErrorMessage.getSeverity()).thenReturn(PostgreSQLMessageSeverityLevel.FATAL);
when(serverErrorMessage.getSQLState()).thenReturn("sqlState");
when(serverErrorMessage.getMessage()).thenReturn("message");
when(serverErrorMessage.getPosition()).thenReturn(1);
PostgreSQLErrorResponsePacket actual = PostgreSQLErrPacketFactory.newInstance(new PSQLException(serverErrorMessage));
- Map<Character, String> fields = (Map<Character, String>) new FieldReader(actual, PostgreSQLErrorResponsePacket.class.getDeclaredField("fields")).read();
+ Map<Character, String> fields = (Map<Character, String>) Plugins.getMemberAccessor().get(PostgreSQLErrorResponsePacket.class.getDeclaredField("fields"), actual);
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_SEVERITY), is(PostgreSQLMessageSeverityLevel.FATAL));
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_CODE), is("sqlState"));
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_MESSAGE), is("message"));
@@ -51,17 +51,17 @@ public final class PostgreSQLErrPacketFactoryTest {
}
@Test
- public void assertPSQLExceptionWithServerErrorMessageIsNull() throws NoSuchFieldException {
+ public void assertPSQLExceptionWithServerErrorMessageIsNull() throws ReflectiveOperationException {
PostgreSQLErrorResponsePacket actual = PostgreSQLErrPacketFactory.newInstance(new PSQLException("psqlEx", PSQLState.UNEXPECTED_ERROR, new Exception("test")));
- Map<Character, String> fields = (Map<Character, String>) new FieldReader(actual, PostgreSQLErrorResponsePacket.class.getDeclaredField("fields")).read();
+ Map<Character, String> fields = (Map<Character, String>) Plugins.getMemberAccessor().get(PostgreSQLErrorResponsePacket.class.getDeclaredField("fields"), actual);
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_CODE), is(PSQLState.UNEXPECTED_ERROR.getState()));
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_MESSAGE), is("psqlEx"));
}
@Test
- public void assertRuntimeException() throws NoSuchFieldException {
+ public void assertRuntimeException() throws ReflectiveOperationException {
PostgreSQLErrorResponsePacket actual = PostgreSQLErrPacketFactory.newInstance(new RuntimeException("test"));
- Map<Character, String> fields = (Map<Character, String>) new FieldReader(actual, PostgreSQLErrorResponsePacket.class.getDeclaredField("fields")).read();
+ Map<Character, String> fields = (Map<Character, String>) Plugins.getMemberAccessor().get(PostgreSQLErrorResponsePacket.class.getDeclaredField("fields"), actual);
assertThat(fields.get(PostgreSQLErrorResponsePacket.FIELD_TYPE_MESSAGE), is("test"));
}
}
diff --git a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
index eaa46fc157a..e7358e1042e 100644
--- a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
+++ b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserEngineTest.java
@@ -23,7 +23,7 @@ import com.github.benmanes.caffeine.cache.LoadingCache;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
import org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.annotation.ParametersAreNonnullByDefault;
@@ -37,12 +37,12 @@ public final class SQLParserEngineTest {
private static final String SQL = "SELECT COUNT(*) FROM user";
@Test
- public void assertParse() throws NoSuchFieldException, IllegalAccessException {
+ public void assertParse() throws ReflectiveOperationException {
SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class);
when(sqlParserExecutor.parse(SQL)).thenReturn(mock(ParseASTNode.class));
CacheOption cacheOption = new CacheOption(128, 1024L);
SQLParserEngine sqlParserEngine = new SQLParserEngine("H2", cacheOption);
- new InstanceField(sqlParserEngine.getClass().getDeclaredField("sqlParserExecutor"), sqlParserEngine).set(sqlParserExecutor);
+ Plugins.getMemberAccessor().set(sqlParserEngine.getClass().getDeclaredField("sqlParserExecutor"), sqlParserEngine, sqlParserExecutor);
LoadingCache<String, ParseASTNode> parseTreeCache = Caffeine.newBuilder().softValues().initialCapacity(128)
.maximumSize(1024).build(new CacheLoader<String, ParseASTNode>() {
@@ -52,7 +52,7 @@ public final class SQLParserEngineTest {
return sqlParserExecutor.parse(sql);
}
});
- new InstanceField(sqlParserEngine.getClass().getDeclaredField("parseTreeCache"), sqlParserEngine).set(parseTreeCache);
+ Plugins.getMemberAccessor().set(sqlParserEngine.getClass().getDeclaredField("parseTreeCache"), sqlParserEngine, parseTreeCache);
sqlParserEngine.parse(SQL, true);
verify(sqlParserExecutor, times(1)).parse(SQL);
sqlParserEngine.parse(SQL, true);
diff --git a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
index 186143d4c3f..aa88d461c08 100644
--- a/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
+++ b/sql-parser/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheLoaderTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sql.parser.core.database.cache;
import org.apache.shardingsphere.sql.parser.core.ParseASTNode;
import org.apache.shardingsphere.sql.parser.core.database.parser.SQLParserExecutor;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import static org.hamcrest.CoreMatchers.isA;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -32,10 +32,10 @@ public final class ParseTreeCacheLoaderTest {
private static final String SQL = "select * from user where id=1";
@Test
- public void assertParseTreeCacheLoader() throws NoSuchFieldException {
+ public void assertParseTreeCacheLoader() throws ReflectiveOperationException {
SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class, RETURNS_DEEP_STUBS);
ParseTreeCacheLoader loader = new ParseTreeCacheLoader("MySQL");
- new InstanceField(loader.getClass().getDeclaredField("sqlParserExecutor"), loader).set(sqlParserExecutor);
+ Plugins.getMemberAccessor().set(loader.getClass().getDeclaredField("sqlParserExecutor"), loader, sqlParserExecutor);
assertThat(loader.load(SQL), isA(ParseASTNode.class));
}
}
diff --git a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/framework/runner/param/RunnerParameters.java b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/framework/runner/param/RunnerParameters.java
index 2cf918504ef..32d51ebe885 100644
--- a/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/framework/runner/param/RunnerParameters.java
+++ b/test/e2e/suite/src/test/java/org/apache/shardingsphere/test/e2e/framework/runner/param/RunnerParameters.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.apache.shardingsphere.test.e2e.framework.param.model.E2ETestParameter;
import org.junit.runners.parameterized.BlockJUnit4ClassRunnerWithParameters;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
/**
* Runner parameters.
@@ -38,12 +38,12 @@ public final class RunnerParameters {
*/
@SneakyThrows(ReflectiveOperationException.class)
public E2ETestParameter getTestParameter() {
- Object[] params = (Object[]) new FieldReader(getRunner(), BlockJUnit4ClassRunnerWithParameters.class.getDeclaredField("parameters")).read();
+ Object[] params = (Object[]) Plugins.getMemberAccessor().get(BlockJUnit4ClassRunnerWithParameters.class.getDeclaredField("parameters"), getRunner());
return (E2ETestParameter) params[0];
}
@SneakyThrows(ReflectiveOperationException.class)
private Object getRunner() {
- return new FieldReader(childStatement, childStatement.getClass().getDeclaredField("val$each")).read();
+ return Plugins.getMemberAccessor().get(childStatement.getClass().getDeclaredField("val$each"), childStatement);
}
}
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithmTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithmTest.java
index db1ec4f9a71..d41de94a18d 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithmTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/check/consistency/algorithm/DataMatchDataConsistencyCalculateAlgorithmTest.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.Connection;
import java.sql.PreparedStatement;
@@ -81,9 +81,9 @@ public final class DataMatchDataConsistencyCalculateAlgorithmTest {
}
@Test
- public void assertCalculateFromBegin() throws NoSuchFieldException {
+ public void assertCalculateFromBegin() throws ReflectiveOperationException {
DataMatchDataConsistencyCalculateAlgorithm calculateAlgorithm = new DataMatchDataConsistencyCalculateAlgorithm();
- new InstanceField(DataMatchDataConsistencyCalculateAlgorithm.class.getDeclaredField("chunkSize"), calculateAlgorithm).set(5);
+ Plugins.getMemberAccessor().set(DataMatchDataConsistencyCalculateAlgorithm.class.getDeclaredField("chunkSize"), calculateAlgorithm, 5);
DataConsistencyCalculateParameter sourceParam = generateParameter(source, "t_order_copy", 0);
Optional<DataConsistencyCalculatedResult> sourceCalculateResult = calculateAlgorithm.calculateChunk(sourceParam);
DataConsistencyCalculateParameter targetParam = generateParameter(target, "t_order", 0);
@@ -98,9 +98,9 @@ public final class DataMatchDataConsistencyCalculateAlgorithmTest {
}
@Test
- public void assertCalculateFromMiddle() throws NoSuchFieldException {
+ public void assertCalculateFromMiddle() throws ReflectiveOperationException {
DataMatchDataConsistencyCalculateAlgorithm calculateAlgorithm = new DataMatchDataConsistencyCalculateAlgorithm();
- new InstanceField(DataMatchDataConsistencyCalculateAlgorithm.class.getDeclaredField("chunkSize"), calculateAlgorithm).set(5);
+ Plugins.getMemberAccessor().set(DataMatchDataConsistencyCalculateAlgorithm.class.getDeclaredField("chunkSize"), calculateAlgorithm, 5);
DataConsistencyCalculateParameter sourceParam = generateParameter(source, "t_order_copy", 5);
Optional<DataConsistencyCalculatedResult> sourceCalculateResult = calculateAlgorithm.calculateChunk(sourceParam);
DataConsistencyCalculateParameter targetParam = generateParameter(target, "t_order", 5);
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/datasource/DefaultPipelineDataSourceManagerTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/datasource/DefaultPipelineDataSourceManagerTest.java
index 7ce777f378f..2a3393f6c28 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/datasource/DefaultPipelineDataSourceManagerTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/datasource/DefaultPipelineDataSourceManagerTest.java
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.test.it.data.pipeline.core.util.PipelineContext
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.util.Map;
@@ -61,12 +61,12 @@ public final class DefaultPipelineDataSourceManagerTest {
}
@Test
- public void assertClose() throws NoSuchFieldException {
+ public void assertClose() throws ReflectiveOperationException {
PipelineDataSourceManager dataSourceManager = new DefaultPipelineDataSourceManager();
try {
dataSourceManager.getDataSource(PipelineDataSourceConfigurationFactory.newInstance(jobConfig.getSource().getType(), jobConfig.getSource().getParameter()));
dataSourceManager.getDataSource(PipelineDataSourceConfigurationFactory.newInstance(jobConfig.getTarget().getType(), jobConfig.getTarget().getParameter()));
- Map<?, ?> cachedDataSources = (Map<?, ?>) new FieldReader(dataSourceManager, DefaultPipelineDataSourceManager.class.getDeclaredField("cachedDataSources")).read();
+ Map<?, ?> cachedDataSources = (Map<?, ?>) Plugins.getMemberAccessor().get(DefaultPipelineDataSourceManager.class.getDeclaredField("cachedDataSources"), dataSourceManager);
assertNotNull(cachedDataSources);
assertThat(cachedDataSources.size(), is(2));
dataSourceManager.close();
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/execute/ExecuteEngineTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/execute/ExecuteEngineTest.java
index 1001ba44c24..78a645372e1 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/execute/ExecuteEngineTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/execute/ExecuteEngineTest.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.data.pipeline.api.executor.LifecycleExecutor;
import org.apache.shardingsphere.data.pipeline.core.execute.ExecuteCallback;
import org.apache.shardingsphere.data.pipeline.core.execute.ExecuteEngine;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
@@ -73,8 +73,8 @@ public final class ExecuteEngineTest {
@SneakyThrows({ReflectiveOperationException.class, InterruptedException.class})
private void shutdownAndAwaitTerminal(final ExecuteEngine executeEngine) {
- ExecutorService executorService = (ExecutorService) new FieldReader(executeEngine, ExecuteEngine.class.getDeclaredField("executorService")).read();
+ ExecutorService executorService = (ExecutorService) Plugins.getMemberAccessor().get(ExecuteEngine.class.getDeclaredField("executorService"), executeEngine);
executorService.shutdown();
- executorService.awaitTermination(30, TimeUnit.SECONDS);
+ executorService.awaitTermination(30L, TimeUnit.SECONDS);
}
}
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/ingest/channel/memory/ManualBitSetTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/ingest/channel/memory/ManualBitSetTest.java
index 2a4e58278e1..da9da54c3ad 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/ingest/channel/memory/ManualBitSetTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/ingest/channel/memory/ManualBitSetTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.test.it.data.pipeline.core.ingest.channel.memo
import lombok.SneakyThrows;
import org.apache.shardingsphere.data.pipeline.core.ingest.channel.memory.ManualBitSet;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.BitSet;
import java.util.List;
@@ -66,7 +66,7 @@ public final class ManualBitSetTest {
public void assertClear() {
ManualBitSet bitSet = new ManualBitSet();
IntStream.range(0, 100).forEach(bitSet::set);
- List<BitSet> bitSets = (List<BitSet>) new FieldReader(bitSet, ManualBitSet.class.getDeclaredField("bitSets")).read();
+ List<BitSet> bitSets = (List<BitSet>) Plugins.getMemberAccessor().get(ManualBitSet.class.getDeclaredField("bitSets"), bitSet);
assertNotNull(bitSets);
assertThat(bitSets.size(), is(1));
bitSet.clear(1025);
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/prepare/InventoryTaskSplitterTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/prepare/InventoryTaskSplitterTest.java
index 044fcf96daf..b85503d4f13 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/prepare/InventoryTaskSplitterTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/prepare/InventoryTaskSplitterTest.java
@@ -37,8 +37,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
-import org.mockito.internal.util.reflection.InstanceField;
+import org.mockito.internal.configuration.plugins.Plugins;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -67,7 +66,7 @@ public final class InventoryTaskSplitterTest {
}
@Before
- public void setUp() throws NoSuchFieldException, IllegalAccessException {
+ public void setUp() throws ReflectiveOperationException {
initJobItemContext();
InventoryDumperConfiguration dumperConfig = new InventoryDumperConfiguration(jobItemContext.getTaskConfig().getDumperConfig());
dumperConfig.setUniqueKeyDataType(Types.INTEGER);
@@ -75,9 +74,9 @@ public final class InventoryTaskSplitterTest {
inventoryTaskSplitter = new InventoryTaskSplitter(jobItemContext.getSourceDataSource(), dumperConfig, jobItemContext.getTaskConfig().getImporterConfig());
}
- private void initJobItemContext() throws NoSuchFieldException {
+ private void initJobItemContext() throws ReflectiveOperationException {
MigrationJobConfiguration jobConfig = JobConfigurationBuilder.createJobConfiguration();
- new InstanceField(MigrationJobConfiguration.class.getDeclaredField("uniqueKeyColumn"), jobConfig).set(new PipelineColumnMetaData(1, "order_id", 4, "", false, true, true));
+ Plugins.getMemberAccessor().set(MigrationJobConfiguration.class.getDeclaredField("uniqueKeyColumn"), jobConfig, new PipelineColumnMetaData(1, "order_id", 4, "", false, true, true));
jobItemContext = PipelineContextUtil.mockMigrationJobItemContext(jobConfig);
dataSourceManager = (PipelineDataSourceManager) jobItemContext.getImporterConnector().getConnector();
taskConfig = jobItemContext.getTaskConfig();
@@ -122,9 +121,10 @@ public final class InventoryTaskSplitterTest {
}
@Test(expected = SplitPipelineJobByRangeException.class)
- public void assertSplitInventoryDataWithIllegalKeyDataType() throws SQLException, NoSuchFieldException {
+ public void assertSplitInventoryDataWithIllegalKeyDataType() throws SQLException, ReflectiveOperationException {
initUnionPrimaryEnvironment(taskConfig.getDumperConfig());
- InventoryDumperConfiguration dumperConfig = (InventoryDumperConfiguration) new FieldReader(inventoryTaskSplitter, InventoryTaskSplitter.class.getDeclaredField("dumperConfig")).read();
+ InventoryDumperConfiguration dumperConfig = (InventoryDumperConfiguration) Plugins.getMemberAccessor()
+ .get(InventoryTaskSplitter.class.getDeclaredField("dumperConfig"), inventoryTaskSplitter);
assertNotNull(dumperConfig);
dumperConfig.setUniqueKey("order_id,user_id");
dumperConfig.setUniqueKeyDataType(Integer.MIN_VALUE);
@@ -132,11 +132,11 @@ public final class InventoryTaskSplitterTest {
}
@Test(expected = SplitPipelineJobByRangeException.class)
- public void assertSplitInventoryDataWithoutPrimaryAndUniqueIndex() throws SQLException, NoSuchFieldException {
+ public void assertSplitInventoryDataWithoutPrimaryAndUniqueIndex() throws SQLException, ReflectiveOperationException {
initNoPrimaryEnvironment(taskConfig.getDumperConfig());
try (PipelineDataSourceWrapper dataSource = dataSourceManager.getDataSource(taskConfig.getDumperConfig().getDataSourceConfig())) {
PipelineColumnMetaData uniqueKeyColumn = PipelineTableMetaDataUtil.getUniqueKeyColumn(null, "t_order", new StandardPipelineTableMetaDataLoader(dataSource));
- new InstanceField(MigrationJobConfiguration.class.getDeclaredField("uniqueKeyColumn"), jobItemContext.getJobConfig()).set(uniqueKeyColumn);
+ Plugins.getMemberAccessor().set(MigrationJobConfiguration.class.getDeclaredField("uniqueKeyColumn"), jobItemContext.getJobConfig(), uniqueKeyColumn);
}
inventoryTaskSplitter.splitInventoryData(jobItemContext);
}
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtil.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtil.java
index bb2851a8718..483355068c3 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtil.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtil.java
@@ -49,7 +49,7 @@ import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositor
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration;
import org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryFactory;
import org.apache.shardingsphere.test.it.data.pipeline.core.fixture.EmbedTestingServer;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.sql.Types;
import java.util.Arrays;
@@ -111,9 +111,9 @@ public final class PipelineContextUtil {
PipelineContext.initContextManager(new ContextManager(metaDataContexts, contextManager.getInstanceContext()));
}
- @SneakyThrows(NoSuchFieldException.class)
+ @SneakyThrows(ReflectiveOperationException.class)
private static ContextManager getContextManager(final ShardingSphereDataSource dataSource) {
- return (ContextManager) new FieldReader(dataSource, ShardingSphereDataSource.class.getDeclaredField("contextManager")).read();
+ return (ContextManager) Plugins.getMemberAccessor().get(ShardingSphereDataSource.class.getDeclaredField("contextManager"), dataSource);
}
@SneakyThrows(ConcurrentException.class)
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineDistributedBarrierImplTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineDistributedBarrierImplTest.java
index 4e46f902443..c4762da99df 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineDistributedBarrierImplTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineDistributedBarrierImplTest.java
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.data.pipeline.core.spi.impl.PipelineDistributed
import org.apache.shardingsphere.mode.persist.PersistRepository;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.mockito.internal.util.reflection.FieldReader;
+import org.mockito.internal.configuration.plugins.Plugins;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -40,14 +40,14 @@ public final class PipelineDistributedBarrierImplTest {
}
@Test
- public void assertRegisterAndRemove() throws NoSuchFieldException {
+ public void assertRegisterAndRemove() throws ReflectiveOperationException {
String jobId = "j0130317c3054317c7363616c696e675f626d73716c";
PersistRepository repository = PipelineContext.getContextManager().getMetaDataContexts().getPersistService().getRepository();
repository.persist(PipelineMetaDataNode.getJobRootPath(jobId), "");
PipelineDistributedBarrierImpl instance = new PipelineDistributedBarrierImpl();
String parentPath = "/barrier";
instance.register(parentPath, 1);
- Map<?, ?> countDownLatchMap = (Map<?, ?>) new FieldReader(instance, PipelineDistributedBarrierImpl.class.getDeclaredField("countDownLatchMap")).read();
+ Map<?, ?> countDownLatchMap = (Map<?, ?>) Plugins.getMemberAccessor().get(PipelineDistributedBarrierImpl.class.getDeclaredField("countDownLatchMap"), instance);
assertNotNull(countDownLatchMap);
assertTrue(countDownLatchMap.containsKey(parentPath));
instance.unregister(parentPath);