This is an automated email from the ASF dual-hosted git repository.

zhangliang 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 5959052dfc1 Add more test cases on SingleDropTableSupportedCheckerTest 
(#38076)
5959052dfc1 is described below

commit 5959052dfc11180847e6c5641e72dee5a5d4173b
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Feb 18 00:56:44 2026 +0800

    Add more test cases on SingleDropTableSupportedCheckerTest (#38076)
---
 .../table/SingleDropTableSupportedCheckerTest.java | 57 ++++++++++------------
 1 file changed, 27 insertions(+), 30 deletions(-)

diff --git 
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/checker/sql/table/SingleDropTableSupportedCheckerTest.java
 
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/checker/sql/table/SingleDropTableSupportedCheckerTest.java
index 54e6aad9c7d..e56d3e34781 100644
--- 
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/checker/sql/table/SingleDropTableSupportedCheckerTest.java
+++ 
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/checker/sql/table/SingleDropTableSupportedCheckerTest.java
@@ -17,59 +17,56 @@
 
 package org.apache.shardingsphere.single.checker.sql.table;
 
-import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums.TableType;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
-import 
org.apache.shardingsphere.infra.binder.context.statement.type.CommonSQLStatementContext;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.exception.kernel.syntax.UnsupportedDropCascadeTableException;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
 import org.apache.shardingsphere.single.rule.SingleRule;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.attribute.SQLStatementAttributes;
+import 
org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.table.DropTableStatement;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.util.Collections;
 
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-@ExtendWith(MockitoExtension.class)
 class SingleDropTableSupportedCheckerTest {
     
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private SingleRule rule;
+    private final SingleDropTableSupportedChecker checker = new 
SingleDropTableSupportedChecker();
+    
+    @Test
+    void assertIsCheckWithDropTableStatement() {
+        SQLStatementContext sqlStatementContext = 
mock(SQLStatementContext.class);
+        
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(DropTableStatement.class));
+        assertTrue(checker.isCheck(sqlStatementContext));
+    }
+    
+    @Test
+    void assertIsCheckWithoutDropTableStatement() {
+        SQLStatementContext sqlStatementContext = 
mock(SQLStatementContext.class);
+        
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(SQLStatement.class));
+        assertFalse(checker.isCheck(sqlStatementContext));
+    }
     
     @Test
     void assertCheckWithCascade() {
-        assertThrows(UnsupportedDropCascadeTableException.class, () -> new 
SingleDropTableSupportedChecker().check(rule, mockDatabase(), mock(), 
createSQLStatementContext(true)));
+        assertThrows(UnsupportedDropCascadeTableException.class,
+                () -> checker.check(mock(SingleRule.class), 
mock(ShardingSphereDatabase.class), mock(ShardingSphereSchema.class), 
mockSQLStatementContext(true)));
     }
     
     @Test
     void assertCheckWithoutCascade() {
-        assertDoesNotThrow(() -> new 
SingleDropTableSupportedChecker().check(rule, mockDatabase(), mock(), 
createSQLStatementContext(false)));
+        assertDoesNotThrow(() -> checker.check(mock(SingleRule.class), 
mock(ShardingSphereDatabase.class), mock(ShardingSphereSchema.class), 
mockSQLStatementContext(false)));
     }
     
-    private ShardingSphereDatabase mockDatabase() {
-        ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
-        ShardingSphereSchema schema = new ShardingSphereSchema("foo_schema", 
mock(DatabaseType.class),
-                Collections.singleton(new ShardingSphereTable("foo_tbl", 
Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), 
TableType.TABLE)), Collections.emptyList());
-        when(result.getAllSchemas()).thenReturn(Collections.singleton(schema));
+    private SQLStatementContext mockSQLStatementContext(final boolean 
containsCascade) {
+        SQLStatementContext result = mock(SQLStatementContext.class);
+        DropTableStatement sqlStatement = mock(DropTableStatement.class);
+        when(sqlStatement.isContainsCascade()).thenReturn(containsCascade);
+        when(result.getSqlStatement()).thenReturn(sqlStatement);
         return result;
     }
-    
-    private CommonSQLStatementContext createSQLStatementContext(final boolean 
containsCascade) {
-        DropTableStatement dropSchemaStatement = 
mock(DropTableStatement.class, RETURNS_DEEP_STUBS);
-        
when(dropSchemaStatement.isContainsCascade()).thenReturn(containsCascade);
-        
when(dropSchemaStatement.getTables()).thenReturn(Collections.emptyList());
-        when(dropSchemaStatement.getAttributes()).thenReturn(new 
SQLStatementAttributes());
-        return new CommonSQLStatementContext(dropSchemaStatement);
-    }
 }

Reply via email to