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 4ff5608dd49 Remove ProxyContext.init() in test method (#24353)
4ff5608dd49 is described below

commit 4ff5608dd49722476b1dd88820320e3b80f0521d
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 26 23:51:45 2023 +0800

    Remove ProxyContext.init() in test method (#24353)
    
    * Remove ProxyContext.init() in test method
    
    * Update checkstyle
    
    * Upgrade test cases
---
 .../ral/QueryableRALBackendHandlerTest.java        | 38 +++++----
 .../DefaultMySQLSessionVariableHandlerTest.java    |  2 +-
 .../executor/MySQLAdminExecutorCreatorTest.java    | 29 +++++--
 .../MySQLSetVariableAdminExecutorTest.java         |  6 +-
 .../frontend/mysql/MySQLFrontendEngineTest.java    | 96 +++++++++++-----------
 src/resources/checkstyle.xml                       |  2 +-
 src/resources/checkstyle_ci.xml                    |  2 +-
 7 files changed, 97 insertions(+), 78 deletions(-)

diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandlerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandlerTest.java
index d1cd81ae08f..77898af7ccd 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandlerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandlerTest.java
@@ -37,44 +37,54 @@ import 
org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.MockedStatic;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.mockStatic;
 import static org.mockito.Mockito.when;
 
+@ExtendWith(MockitoExtension.class)
 public final class QueryableRALBackendHandlerTest {
     
-    @Test(expected = NoDatabaseSelectedException.class)
+    private final MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS);
+    
+    @AfterEach
+    public void tearDown() {
+        proxyContext.close();
+    }
+    
+    @Test
     public void assertExecuteWithNoDatabase() {
         ConnectionSession connectionSession = mock(ConnectionSession.class);
         when(connectionSession.getDatabaseName()).thenReturn(null);
-        new 
QueryableRALBackendHandler<>(mock(ExportDatabaseConfigurationStatement.class), 
connectionSession).execute();
+        assertThrows(NoDatabaseSelectedException.class, () -> new 
QueryableRALBackendHandler<>(mock(ExportDatabaseConfigurationStatement.class), 
connectionSession).execute());
     }
     
-    @Test(expected = UnknownDatabaseException.class)
+    @Test
     public void assertExecuteWithUnknownDatabase() {
         ShardingSphereMetaData metaData = new ShardingSphereMetaData();
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class), metaData);
         ConnectionSession connectionSession = mock(ConnectionSession.class);
         when(connectionSession.getDatabaseName()).thenReturn("unknown");
         ContextManager contextManager = new ContextManager(metaDataContexts, 
mock(InstanceContext.class));
-        try (MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS)) {
-            proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
-            new 
QueryableRALBackendHandler<>(mock(ExportDatabaseConfigurationStatement.class), 
connectionSession).execute();
-        }
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
+        assertThrows(UnknownDatabaseException.class, () -> new 
QueryableRALBackendHandler<>(mock(ExportDatabaseConfigurationStatement.class), 
connectionSession).execute());
     }
     
-    @Test(expected = ServiceProviderNotFoundServerException.class)
+    @Test
     public void assertExecuteWithAbstractStatement() {
-        new QueryableRALBackendHandler<>(mock(QueryableRALStatement.class), 
mock(ConnectionSession.class)).execute();
+        assertThrows(ServiceProviderNotFoundServerException.class, () -> new 
QueryableRALBackendHandler<>(mock(QueryableRALStatement.class), 
mock(ConnectionSession.class)).execute());
     }
     
     @Test
@@ -83,13 +93,13 @@ public final class QueryableRALBackendHandlerTest {
         ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
         when(database.getSchema("db_name")).thenReturn(new 
ShardingSphereSchema(createTableMap(), Collections.emptyMap()));
         
when(contextManager.getMetaDataContexts().getMetaData().getDatabases()).thenReturn(Collections.singletonMap("db_name",
 database));
-        
when(contextManager.getMetaDataContexts().getMetaData().containsDatabase("db_name")).thenReturn(true);
         
when(contextManager.getMetaDataContexts().getMetaData().getDatabase("db_name")).thenReturn(database);
-        ProxyContext.init(contextManager);
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
+        proxyContext.when(() -> 
ProxyContext.getInstance().databaseExists("db_name")).thenReturn(true);
+        proxyContext.when(() -> 
ProxyContext.getInstance().getDatabase("db_name")).thenReturn(database);
         ConnectionSession connectionSession = mock(ConnectionSession.class, 
RETURNS_DEEP_STUBS);
         when(connectionSession.getDatabaseName()).thenReturn("db_name");
-        QueryableRALBackendHandler handler = new 
QueryableRALBackendHandler(createSqlStatement(), connectionSession);
-        handler.execute();
+        new QueryableRALBackendHandler<>(createSqlStatement(), 
connectionSession).execute();
     }
     
     private Map<String, ShardingSphereTable> createTableMap() {
diff --git 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/DefaultMySQLSessionVariableHandlerTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/DefaultMySQLSessionVariableHandlerTest.java
index ab8ca5e9e6f..2fb0e8571ae 100644
--- 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/DefaultMySQLSessionVariableHandlerTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/DefaultMySQLSessionVariableHandlerTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.proxy.backend.mysql.handler.admin.MySQLDefaultS
 import 
org.apache.shardingsphere.proxy.backend.mysql.handler.admin.MySQLSessionVariableHandler;
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.proxy.backend.session.RequiredSessionVariableRecorder;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.mockito.MockedStatic;
 
 import java.util.Collections;
diff --git 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLAdminExecutorCreatorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLAdminExecutorCreatorTest.java
index 554947641b0..68f5b344f66 100644
--- 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLAdminExecutorCreatorTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLAdminExecutorCreatorTest.java
@@ -50,10 +50,12 @@ import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLDeleteStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
 import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.MockedStatic;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import java.util.Collections;
 import java.util.Map;
@@ -63,19 +65,27 @@ import java.util.Properties;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.mockStatic;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
 public final class MySQLAdminExecutorCreatorTest {
     
+    private final MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS);
+    
     @SuppressWarnings("rawtypes")
     @Mock
     private SQLStatementContext sqlStatementContext;
     
+    @AfterEach
+    public void tearDown() {
+        proxyContext.close();
+    }
+    
     @Test
     public void assertCreateWithMySQLShowFunctionStatus() {
         when(sqlStatementContext.getSqlStatement()).thenReturn(new 
MySQLShowFunctionStatusStatement());
@@ -123,7 +133,6 @@ public final class MySQLAdminExecutorCreatorTest {
     
     @Test
     public void assertCreateWithMySQLShowProcessListStatement() {
-        ProxyContext.init(mock(ContextManager.class, RETURNS_DEEP_STUBS));
         when(sqlStatementContext.getSqlStatement()).thenReturn(new 
MySQLShowProcessListStatement());
         Optional<DatabaseAdminExecutor> actual = new 
MySQLAdminExecutorCreator().create(sqlStatementContext, "", "");
         assertTrue(actual.isPresent());
@@ -247,6 +256,8 @@ public final class MySQLAdminExecutorCreatorTest {
         ShardingSphereDatabase database = new ShardingSphereDatabase("db_0", 
mock(DatabaseType.class), resourceMetaData, 
mock(ShardingSphereRuleMetaData.class), Collections.emptyMap());
         Map<String, ShardingSphereDatabase> result = 
Collections.singletonMap("db_0", database);
         initProxyContext(result);
+        proxyContext.when(() -> 
ProxyContext.getInstance().getAllDatabaseNames()).thenReturn(Collections.singleton("db_0"));
+        proxyContext.when(() -> 
ProxyContext.getInstance().getDatabase("db_0")).thenReturn(database);
         MySQLSelectStatement mySQLSelectStatement = 
mock(MySQLSelectStatement.class);
         when(mySQLSelectStatement.getFrom()).thenReturn(null);
         ProjectionsSegment projectionsSegment = mock(ProjectionsSegment.class);
@@ -263,6 +274,8 @@ public final class MySQLAdminExecutorCreatorTest {
         ShardingSphereDatabase database = new ShardingSphereDatabase("db_0", 
mock(DatabaseType.class), resourceMetaData, 
mock(ShardingSphereRuleMetaData.class), Collections.emptyMap());
         Map<String, ShardingSphereDatabase> result = 
Collections.singletonMap("db_0", database);
         initProxyContext(result);
+        proxyContext.when(() -> 
ProxyContext.getInstance().getAllDatabaseNames()).thenReturn(Collections.singleton("db_0"));
+        proxyContext.when(() -> 
ProxyContext.getInstance().getDatabase("db_0")).thenReturn(database);
         MySQLSelectStatement mySQLSelectStatement = 
mock(MySQLSelectStatement.class);
         when(mySQLSelectStatement.getFrom()).thenReturn(null);
         ProjectionsSegment projectionsSegment = mock(ProjectionsSegment.class);
@@ -329,7 +342,7 @@ public final class MySQLAdminExecutorCreatorTest {
         MetaDataContexts metaDataContexts = new 
MetaDataContexts(mock(MetaDataPersistService.class),
                 new ShardingSphereMetaData(databases, 
mock(ShardingSphereRuleMetaData.class), new ConfigurationProperties(new 
Properties())));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
-        ProxyContext.init(contextManager);
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
     }
     
     @Test
diff --git 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLSetVariableAdminExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLSetVariableAdminExecutorTest.java
index 835ecb3236c..7a9d9212ac9 100644
--- 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLSetVariableAdminExecutorTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/MySQLSetVariableAdminExecutorTest.java
@@ -32,8 +32,8 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.VariableAssig
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.VariableSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.SetStatement;
 import 
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLSetStatement;
-import org.junit.After;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Test;
 import org.mockito.MockedConstruction;
 import org.mockito.MockedStatic;
 
@@ -51,7 +51,7 @@ public final class MySQLSetVariableAdminExecutorTest {
     
     private final MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS);
     
-    @After
+    @AfterEach
     public void tearDown() {
         proxyContext.close();
     }
diff --git 
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
 
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
index 6b896fbedbd..435c3d23081 100644
--- 
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
+++ 
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/MySQLFrontendEngineTest.java
@@ -19,12 +19,10 @@ package org.apache.shardingsphere.proxy.frontend.mysql;
 
 import io.netty.channel.Channel;
 import io.netty.channel.ChannelHandlerContext;
-import io.netty.util.Attribute;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.authority.config.AuthorityRuleConfiguration;
 import org.apache.shardingsphere.authority.rule.AuthorityRule;
 import org.apache.shardingsphere.authority.rule.builder.AuthorityRuleBuilder;
-import org.apache.shardingsphere.db.protocol.constant.CommonConstants;
 import 
org.apache.shardingsphere.db.protocol.mysql.constant.MySQLConnectionPhase;
 import org.apache.shardingsphere.db.protocol.mysql.constant.MySQLConstants;
 import 
org.apache.shardingsphere.db.protocol.mysql.packet.generic.MySQLErrPacket;
@@ -45,14 +43,18 @@ import 
org.apache.shardingsphere.proxy.backend.context.ProxyContext;
 import 
org.apache.shardingsphere.proxy.frontend.authentication.AuthenticationResult;
 import 
org.apache.shardingsphere.proxy.frontend.connection.ConnectionIdGenerator;
 import 
org.apache.shardingsphere.proxy.frontend.mysql.authentication.MySQLAuthenticationEngine;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Answers;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
 import org.mockito.MockedStatic;
 import org.mockito.internal.configuration.plugins.Plugins;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.junit.jupiter.MockitoSettings;
+import org.mockito.quality.Strictness;
 
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
@@ -65,9 +67,9 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.ArgumentMatchers.isA;
@@ -77,62 +79,58 @@ import static org.mockito.Mockito.mockStatic;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
+@MockitoSettings(strictness = Strictness.LENIENT)
 public final class MySQLFrontendEngineTest {
     
     private static final String SCHEMA_PATTERN = "schema_%s";
     
-    private MySQLFrontendEngine mysqlFrontendEngine;
+    private final MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS);
+    
+    private final MySQLFrontendEngine engine = new MySQLFrontendEngine();
     
     @Mock
     private ChannelHandlerContext context;
     
-    @Mock
-    private MySQLPacketPayload payload;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Channel channel;
     
     @Mock
-    private Channel channel;
+    private MySQLPacketPayload payload;
     
-    @SuppressWarnings("unchecked")
-    @Before
-    public void setUp() {
-        resetConnectionIdGenerator();
+    @BeforeEach
+    public void setUp() throws ReflectiveOperationException {
+        
Plugins.getMemberAccessor().set(ConnectionIdGenerator.class.getDeclaredField("currentId"),
 ConnectionIdGenerator.getInstance(), 0);
         when(context.channel()).thenReturn(channel);
-        
when(channel.attr(CommonConstants.CHARSET_ATTRIBUTE_KEY)).thenReturn(mock(Attribute.class));
-        
when(channel.attr(MySQLConstants.MYSQL_CHARACTER_SET_ATTRIBUTE_KEY)).thenReturn(mock(Attribute.class));
-        
when(channel.attr(MySQLConstants.MYSQL_SEQUENCE_ID)).thenReturn(mock(Attribute.class));
     }
     
-    @SneakyThrows(ReflectiveOperationException.class)
-    private void resetConnectionIdGenerator() {
-        
Plugins.getMemberAccessor().set(ConnectionIdGenerator.class.getDeclaredField("currentId"),
 ConnectionIdGenerator.getInstance(), 0);
-        try (MockedStatic<ProxyContext> proxyContext = 
mockStatic(ProxyContext.class, RETURNS_DEEP_STUBS)) {
-            proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(mock(ContextManager.class,
 RETURNS_DEEP_STUBS));
-            mysqlFrontendEngine = new MySQLFrontendEngine();
-        }
+    @AfterEach
+    public void tearDown() {
+        proxyContext.close();
     }
     
     @Test
     public void assertInitChannel() {
-        mysqlFrontendEngine.initChannel(channel);
+        engine.initChannel(channel);
         
verify(channel.attr(MySQLConstants.MYSQL_SEQUENCE_ID)).set(any(AtomicInteger.class));
     }
     
     @Test
     public void assertHandshake() {
-        
assertTrue(mysqlFrontendEngine.getAuthenticationEngine().handshake(context) > 
0);
+        assertTrue(engine.getAuthenticationEngine().handshake(context) > 0);
         verify(context).writeAndFlush(isA(MySQLHandshakePacket.class));
     }
     
     @Test
     public void assertAuthWhenLoginSuccess() {
         setConnectionPhase(MySQLConnectionPhase.AUTH_PHASE_FAST_PATH);
-        initProxyContext(new ShardingSphereUser("root", "", ""));
+        ContextManager contextManager = mockContextManager(new 
ShardingSphereUser("root", "", ""));
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         when(payload.readInt1()).thenReturn(1);
         when(payload.readStringNul()).thenReturn("root");
         when(payload.readStringNulByBytes()).thenReturn("root".getBytes());
         when(channel.remoteAddress()).thenReturn(new 
InetSocketAddress("localhost", 3307));
-        AuthenticationResult actual = 
mysqlFrontendEngine.getAuthenticationEngine().authenticate(context, payload);
+        AuthenticationResult actual = 
engine.getAuthenticationEngine().authenticate(context, payload);
         assertThat(actual.getUsername(), is("root"));
         assertNull(actual.getDatabase());
         assertTrue(actual.isFinished());
@@ -142,12 +140,13 @@ public final class MySQLFrontendEngineTest {
     @Test
     public void assertAuthWhenLoginFailure() {
         setConnectionPhase(MySQLConnectionPhase.AUTH_PHASE_FAST_PATH);
-        initProxyContext(new ShardingSphereUser("root", "error", ""));
+        ContextManager contextManager = mockContextManager(new 
ShardingSphereUser("root", "error", ""));
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         when(payload.readInt1()).thenReturn(1);
         when(payload.readStringNul()).thenReturn("root");
         when(payload.readStringNulByBytes()).thenReturn("root".getBytes());
         when(channel.remoteAddress()).thenReturn(new 
InetSocketAddress("localhost", 3307));
-        AuthenticationResult actual = 
mysqlFrontendEngine.getAuthenticationEngine().authenticate(context, payload);
+        AuthenticationResult actual = 
engine.getAuthenticationEngine().authenticate(context, payload);
         assertNull(actual.getUsername());
         assertNull(actual.getDatabase());
         assertFalse(actual.isFinished());
@@ -157,12 +156,13 @@ public final class MySQLFrontendEngineTest {
     @Test
     public void assertErrorMsgWhenLoginFailure() throws UnknownHostException {
         setConnectionPhase(MySQLConnectionPhase.AUTH_PHASE_FAST_PATH);
-        initProxyContext(new ShardingSphereUser("root", "error", ""));
+        ContextManager contextManager = mockContextManager(new 
ShardingSphereUser("root", "error", ""));
+        proxyContext.when(() -> 
ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         when(payload.readInt1()).thenReturn(1);
         when(payload.readStringNul()).thenReturn("root");
         when(payload.readStringNulByBytes()).thenReturn("root".getBytes());
         when(channel.remoteAddress()).thenReturn(new 
InetSocketAddress(InetAddress.getByAddress(new byte[]{(byte) 192, (byte) 168, 
(byte) 0, (byte) 102}), 3307));
-        AuthenticationResult actual = 
mysqlFrontendEngine.getAuthenticationEngine().authenticate(context, payload);
+        AuthenticationResult actual = 
engine.getAuthenticationEngine().authenticate(context, payload);
         assertNull(actual.getUsername());
         assertNull(actual.getDatabase());
         assertFalse(actual.isFinished());
@@ -171,22 +171,18 @@ public final class MySQLFrontendEngineTest {
     
     @SneakyThrows(ReflectiveOperationException.class)
     private void setConnectionPhase(final MySQLConnectionPhase 
connectionPhase) {
-        
Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"),
 mysqlFrontendEngine.getAuthenticationEngine(), connectionPhase);
+        
Plugins.getMemberAccessor().set(MySQLAuthenticationEngine.class.getDeclaredField("connectionPhase"),
 engine.getAuthenticationEngine(), connectionPhase);
     }
     
-    private void initProxyContext(final ShardingSphereUser user) {
-        ContextManager contextManager = mock(ContextManager.class, 
RETURNS_DEEP_STUBS);
-        MetaDataContexts metaDataContexts = getMetaDataContexts(user);
-        
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
-        ProxyContext.init(contextManager);
-    }
-    
-    private MetaDataContexts getMetaDataContexts(final ShardingSphereUser 
user) {
-        return new MetaDataContexts(mock(MetaDataPersistService.class),
-                new ShardingSphereMetaData(getDatabases(), 
buildGlobalRuleMetaData(user), new ConfigurationProperties(new Properties())));
+    private ContextManager mockContextManager(final ShardingSphereUser user) {
+        ContextManager result = mock(ContextManager.class, RETURNS_DEEP_STUBS);
+        MetaDataContexts metaDataContexts = new MetaDataContexts(
+                mock(MetaDataPersistService.class), new 
ShardingSphereMetaData(createDatabases(), createGlobalRuleMetaData(user), new 
ConfigurationProperties(new Properties())));
+        when(result.getMetaDataContexts()).thenReturn(metaDataContexts);
+        return result;
     }
     
-    private Map<String, ShardingSphereDatabase> getDatabases() {
+    private Map<String, ShardingSphereDatabase> createDatabases() {
         Map<String, ShardingSphereDatabase> result = new HashMap<>(10, 1);
         for (int i = 0; i < 10; i++) {
             ShardingSphereDatabase database = 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
@@ -196,9 +192,9 @@ public final class MySQLFrontendEngineTest {
         return result;
     }
     
-    private ShardingSphereRuleMetaData buildGlobalRuleMetaData(final 
ShardingSphereUser user) {
+    private ShardingSphereRuleMetaData createGlobalRuleMetaData(final 
ShardingSphereUser user) {
         AuthorityRuleConfiguration ruleConfig = new 
AuthorityRuleConfiguration(Collections.singletonList(user), new 
AlgorithmConfiguration("ALL_PERMITTED", new Properties()), null);
         AuthorityRule rule = new AuthorityRuleBuilder().build(ruleConfig, 
Collections.emptyMap(), mock(ConfigurationProperties.class));
-        return new ShardingSphereRuleMetaData(Collections.singletonList(rule));
+        return new ShardingSphereRuleMetaData(Collections.singleton(rule));
     }
 }
diff --git a/src/resources/checkstyle.xml b/src/resources/checkstyle.xml
index 7149932bf3b..243a9a53cd6 100644
--- a/src/resources/checkstyle.xml
+++ b/src/resources/checkstyle.xml
@@ -117,7 +117,7 @@
         <!-- Imports -->
         <module name="AvoidStarImport" />
         <module name="AvoidStaticImport">
-            <property name="excludes" 
value="org.junit.jupiter.api.Assertions,org.junit.jupiter.api.Assumptions,org.junit.Assert.*,org.hamcrest.Matchers.*,org.hamcrest.CoreMatchers.*,org.hamcrest.MatcherAssert.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*"
 />
+            <property name="excludes" 
value="org.junit.jupiter.api.Assertions.*,org.junit.jupiter.api.Assumptions.*,org.junit.Assert.*,org.hamcrest.Matchers.*,org.hamcrest.CoreMatchers.*,org.hamcrest.MatcherAssert.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*"
 />
         </module>
         <module name="IllegalImport">
             <property name="illegalClasses" 
value="org.mockito.junit.MockitoJUnitRunner.Silent" />
diff --git a/src/resources/checkstyle_ci.xml b/src/resources/checkstyle_ci.xml
index 285eedc20a4..28ffd3373c7 100644
--- a/src/resources/checkstyle_ci.xml
+++ b/src/resources/checkstyle_ci.xml
@@ -112,7 +112,7 @@
         <!-- Imports -->
         <module name="AvoidStarImport" />
         <module name="AvoidStaticImport">
-            <property name="excludes" 
value="org.junit.jupiter.api.Assertions,org.junit.jupiter.api.Assumptions,org.junit.Assert.*,org.hamcrest.Matchers.*,org.hamcrest.CoreMatchers.*,org.hamcrest.MatcherAssert.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*"
 />
+            <property name="excludes" 
value="org.junit.jupiter.api.Assertions.*,org.junit.jupiter.api.Assumptions.*,org.junit.Assert.*,org.hamcrest.Matchers.*,org.hamcrest.CoreMatchers.*,org.hamcrest.MatcherAssert.*,org.mockito.Mockito.*,org.mockito.ArgumentMatchers.*"
 />
         </module>
         <module name="IllegalImport">
             <property name="illegalClasses" 
value="org.mockito.junit.MockitoJUnitRunner.Silent" />

Reply via email to