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" />