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;

Reply via email to