This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 ec07a8b5db3 Update DistSQL unit test (#37474)
ec07a8b5db3 is described below
commit ec07a8b5db3ef936ecd68ccf7b7eb346151f6261
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Tue Dec 23 19:43:08 2025 +0800
Update DistSQL unit test (#37474)
---
.../query/ShowShardingTableNodesExecutorTest.java | 4 +--
.../DistSQLProxyBackendHandlerFactoryTest.java | 31 +++++++++++++---------
.../DistSQLUpdateProxyBackendHandlerTest.java | 16 +++++++----
.../DistSQLGlobalRuleDefinitionExecutorAssert.java | 2 +-
4 files changed, 31 insertions(+), 22 deletions(-)
diff --git
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutorTest.java
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutorTest.java
index 2999035503c..036ddc8f96a 100644
---
a/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutorTest.java
+++
b/features/sharding/distsql/handler/src/test/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShowShardingTableNodesExecutorTest.java
@@ -42,7 +42,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.Optional;
@@ -82,8 +81,7 @@ class ShowShardingTableNodesExecutorTest {
engine.executeQuery();
Collection<LocalDataQueryResultRow> actual = engine.getRows();
assertThat(actual.size(), is(1));
- Iterator<LocalDataQueryResultRow> iterator = actual.iterator();
- LocalDataQueryResultRow row = iterator.next();
+ LocalDataQueryResultRow row = actual.iterator().next();
assertThat(row.getCell(1), is("t_order"));
assertThat(row.getCell(2), is("ds_1.t_order_0, ds_2.t_order_1,
ds_1.t_order_2, ds_2.t_order_3, ds_1.t_order_4, ds_2.t_order_5"));
}
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLProxyBackendHandlerFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLProxyBackendHandlerFactoryTest.java
index 7e24f21eabc..f6e4de45797 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLProxyBackendHandlerFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLProxyBackendHandlerFactoryTest.java
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.infra.exception.kernel.metadata.rule.MissingReq
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.util.props.PropertiesBuilder;
import org.apache.shardingsphere.infra.util.props.PropertiesBuilder.Property;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -114,7 +115,7 @@ class DistSQLProxyBackendHandlerFactoryTest {
void assertExecuteDataSourcesContext() throws SQLException {
RegisterStorageUnitStatement sqlStatement =
mock(RegisterStorageUnitStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -122,21 +123,21 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db").getRuleMetaData()).thenReturn(new
RuleMetaData(Collections.emptyList()));
CreateShardingTableRuleStatement sqlStatement =
mock(CreateShardingTableRuleStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
void assertExecuteAddResourceContext() throws SQLException {
RegisterStorageUnitStatement sqlStatement =
mock(RegisterStorageUnitStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
void assertExecuteAlterResourceContext() throws SQLException {
AlterStorageUnitStatement sqlStatement =
mock(AlterStorageUnitStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -145,7 +146,7 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db")).thenReturn(database);
AlterShadowRuleStatement sqlStatement =
mock(AlterShadowRuleStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -154,7 +155,7 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db")).thenReturn(database);
CreateShadowRuleStatement sqlStatement =
mock(CreateShadowRuleStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -163,7 +164,7 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db")).thenReturn(database);
DropShadowRuleStatement sqlStatement =
mock(DropShadowRuleStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -172,7 +173,7 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db")).thenReturn(database);
AlterDefaultShadowAlgorithmStatement statement = new
AlterDefaultShadowAlgorithmStatement(
new ShadowAlgorithmSegment("foo", new
AlgorithmSegment("SQL_HINT", PropertiesBuilder.build(new Property("type",
"value")))));
- assertThat(new DistSQLUpdateProxyBackendHandler(statement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(statement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
@@ -205,33 +206,37 @@ class DistSQLProxyBackendHandlerFactoryTest {
when(contextManager.getDatabase("foo_db")).thenReturn(database);
DropShadowAlgorithmStatement sqlStatement =
mock(DropShadowAlgorithmStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
void assertExecuteDropResourceContext() throws SQLException {
UnregisterStorageUnitStatement sqlStatement =
mock(UnregisterStorageUnitStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
void assertExecuteDropReadwriteSplittingRuleContext() {
assertThrows(MissingRequiredRuleException.class,
- () -> new
DistSQLUpdateProxyBackendHandler(mock(DropReadwriteSplittingRuleStatement.class,
RETURNS_DEEP_STUBS), mock(), connectionSession, contextManager).execute());
+ () -> new
DistSQLUpdateProxyBackendHandler(mock(DropReadwriteSplittingRuleStatement.class,
RETURNS_DEEP_STUBS), mockQueryContext(), connectionSession,
contextManager).execute());
}
@Test
void assertExecuteCreateReadwriteSplittingRuleContext() throws
SQLException {
CreateReadwriteSplittingRuleStatement sqlStatement =
mock(CreateReadwriteSplittingRuleStatement.class);
when(sqlStatement.getAttributes()).thenReturn(new
SQLStatementAttributes());
- assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement, mock(),
connectionSession, contextManager).execute(), isA(UpdateResponseHeader.class));
+ assertThat(new DistSQLUpdateProxyBackendHandler(sqlStatement,
mockQueryContext(), connectionSession, contextManager).execute(),
isA(UpdateResponseHeader.class));
}
@Test
void assertExecuteAlterReadwriteSplittingRuleContext() {
assertThrows(MissingRequiredRuleException.class,
- () -> new
DistSQLUpdateProxyBackendHandler(mock(AlterReadwriteSplittingRuleStatement.class,
RETURNS_DEEP_STUBS), mock(), connectionSession, contextManager).execute());
+ () -> new
DistSQLUpdateProxyBackendHandler(mock(AlterReadwriteSplittingRuleStatement.class,
RETURNS_DEEP_STUBS), mockQueryContext(), connectionSession,
contextManager).execute());
+ }
+
+ private QueryContext mockQueryContext() {
+ return mock(QueryContext.class, RETURNS_DEEP_STUBS);
}
private ShardingSphereDatabase mockDatabaseWithRule() {
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLUpdateProxyBackendHandlerTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLUpdateProxyBackendHandlerTest.java
index c95417aef29..db6d660d7d0 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLUpdateProxyBackendHandlerTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/DistSQLUpdateProxyBackendHandlerTest.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
import
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
@@ -60,7 +61,8 @@ class DistSQLUpdateProxyBackendHandlerTest {
@Test
void assertEmptyStorageUnit() {
when(contextManager.getDatabase("foo_db")).thenReturn(new
ShardingSphereDatabase("foo_db", databaseType, mock(), mock(),
Collections.emptyList()));
- DistSQLUpdateProxyBackendHandler backendHandler = new
DistSQLUpdateProxyBackendHandler(new RefreshTableMetaDataStatement(), mock(),
mockConnectionSession("foo_db"), contextManager);
+ DistSQLUpdateProxyBackendHandler backendHandler = new
DistSQLUpdateProxyBackendHandler(
+ new RefreshTableMetaDataStatement(), mockQueryContext(),
mockConnectionSession("foo_db"), contextManager);
assertThrows(EmptyStorageUnitException.class, backendHandler::execute);
}
@@ -70,7 +72,7 @@ class DistSQLUpdateProxyBackendHandlerTest {
when(resourceMetaData.getStorageUnits()).thenReturn(Collections.singletonMap("ds_0",
mock(StorageUnit.class)));
when(contextManager.getDatabase("foo_db")).thenReturn(new
ShardingSphereDatabase("foo_db", databaseType, resourceMetaData, mock(),
Collections.emptyList()));
DistSQLUpdateProxyBackendHandler backendHandler = new
DistSQLUpdateProxyBackendHandler(
- new RefreshTableMetaDataStatement("t_order", "ds_1", null),
mock(), mockConnectionSession("foo_db"), contextManager);
+ new RefreshTableMetaDataStatement("t_order", "ds_1", null),
mockQueryContext(), mockConnectionSession("foo_db"), contextManager);
assertThrows(MissingRequiredStorageUnitsException.class,
backendHandler::execute);
}
@@ -80,7 +82,7 @@ class DistSQLUpdateProxyBackendHandlerTest {
when(resourceMetaData.getStorageUnits()).thenReturn(Collections.singletonMap("ds_0",
mock(StorageUnit.class)));
when(contextManager.getDatabase("foo_db")).thenReturn(new
ShardingSphereDatabase("foo_db", databaseType, resourceMetaData, mock(),
Collections.emptyList()));
DistSQLUpdateProxyBackendHandler backendHandler = new
DistSQLUpdateProxyBackendHandler(
- new RefreshTableMetaDataStatement("t_order", "ds_0",
"bar_db"), mock(), mockConnectionSession("foo_db"), contextManager);
+ new RefreshTableMetaDataStatement("t_order", "ds_0",
"bar_db"), mockQueryContext(), mockConnectionSession("foo_db"), contextManager);
assertThrows(SchemaNotFoundException.class, backendHandler::execute);
}
@@ -95,7 +97,7 @@ class DistSQLUpdateProxyBackendHandlerTest {
when(database.getResourceMetaData()).thenReturn(resourceMetaData);
when(contextManager.getDatabase("foo_db")).thenReturn(database);
DistSQLUpdateProxyBackendHandler backendHandler = new
DistSQLUpdateProxyBackendHandler(
- new RefreshTableMetaDataStatement("t_order", "ds_0",
"foo_db"), mock(), mockConnectionSession("foo_db"), contextManager);
+ new RefreshTableMetaDataStatement("t_order", "ds_0",
"foo_db"), mockQueryContext(), mockConnectionSession("foo_db"), contextManager);
assertThrows(TableNotFoundException.class, backendHandler::execute);
}
@@ -108,10 +110,14 @@ class DistSQLUpdateProxyBackendHandlerTest {
when(database.getProtocolType()).thenReturn(databaseType);
when(database.getResourceMetaData()).thenReturn(resourceMetaData);
when(contextManager.getDatabase("foo_db")).thenReturn(database);
- ResponseHeader actual = new DistSQLUpdateProxyBackendHandler(new
RefreshTableMetaDataStatement(), mock(), mockConnectionSession("foo_db"),
contextManager).execute();
+ ResponseHeader actual = new DistSQLUpdateProxyBackendHandler(new
RefreshTableMetaDataStatement(), mockQueryContext(),
mockConnectionSession("foo_db"), contextManager).execute();
assertThat(actual, isA(UpdateResponseHeader.class));
}
+ private QueryContext mockQueryContext() {
+ return mock(QueryContext.class, RETURNS_DEEP_STUBS);
+ }
+
private ConnectionSession mockConnectionSession(final String databaseName)
{
ConnectionSession result = mock(ConnectionSession.class,
RETURNS_DEEP_STUBS);
when(result.getUsedDatabaseName()).thenReturn(databaseName);
diff --git
a/test/it/distsql/src/main/java/org/apache/shardingsphere/test/it/distsql/handler/engine/update/DistSQLGlobalRuleDefinitionExecutorAssert.java
b/test/it/distsql/src/main/java/org/apache/shardingsphere/test/it/distsql/handler/engine/update/DistSQLGlobalRuleDefinitionExecutorAssert.java
index 4b80aeb6132..64b6d6b0a52 100644
---
a/test/it/distsql/src/main/java/org/apache/shardingsphere/test/it/distsql/handler/engine/update/DistSQLGlobalRuleDefinitionExecutorAssert.java
+++
b/test/it/distsql/src/main/java/org/apache/shardingsphere/test/it/distsql/handler/engine/update/DistSQLGlobalRuleDefinitionExecutorAssert.java
@@ -58,7 +58,7 @@ public final class DistSQLGlobalRuleDefinitionExecutorAssert {
public void assertExecuteUpdate(final GlobalRuleConfiguration ruleConfig,
final DistSQLStatement sqlStatement, final
RuleConfiguration matchedRuleConfig, final Class<? extends Exception>
expectedException) throws SQLException {
ContextManager contextManager = mockContextManager(ruleConfig);
- DistSQLUpdateExecuteEngine engine = new
DistSQLUpdateExecuteEngine(sqlStatement, null, contextManager,
mock(DistSQLConnectionContext.class));
+ DistSQLUpdateExecuteEngine engine = new
DistSQLUpdateExecuteEngine(sqlStatement, null, contextManager,
mock(DistSQLConnectionContext.class, RETURNS_DEEP_STUBS));
if (null != expectedException) {
assertThrows(expectedException, engine::executeUpdate);
return;