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 f036c484cfe Add more test cases on EncryptShowColumnsMergedResult 
(#33601)
f036c484cfe is described below

commit f036c484cfe59df824146637b60548b36168e520
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 9 10:25:20 2024 +0800

    Add more test cases on EncryptShowColumnsMergedResult (#33601)
---
 .../merge/dal/show/EncryptShowColumnsMergedResult.java    |  2 +-
 .../show/MergedEncryptShowColumnsMergedResultTest.java    | 15 +++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
index bd8315f3649..d7c383fd533 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/merge/dal/show/EncryptShowColumnsMergedResult.java
@@ -45,7 +45,7 @@ public abstract class EncryptShowColumnsMergedResult 
implements MergedResult {
     
     protected EncryptShowColumnsMergedResult(final SQLStatementContext 
sqlStatementContext, final EncryptRule encryptRule) {
         ShardingSpherePreconditions.checkState(sqlStatementContext instanceof 
TableAvailable && 1 == ((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().size(),
-                () -> new UnsupportedEncryptSQLException("SHOW COLUMNS FOR 
MULTI TABLE"));
+                () -> new UnsupportedEncryptSQLException("SHOW COLUMNS FOR 
MULTI TABLES"));
         tableName = ((TableAvailable) 
sqlStatementContext).getTablesContext().getSimpleTables().iterator().next().getTableName().getIdentifier().getValue();
         this.encryptRule = encryptRule;
     }
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
index e75cb3ca6bb..ed5a463caf2 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/merge/dal/show/MergedEncryptShowColumnsMergedResultTest.java
@@ -17,8 +17,10 @@
 
 package org.apache.shardingsphere.encrypt.merge.dal.show;
 
+import 
org.apache.shardingsphere.encrypt.exception.syntax.UnsupportedEncryptSQLException;
 import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
+import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
 import 
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
@@ -54,6 +56,19 @@ class MergedEncryptShowColumnsMergedResultTest {
     @Mock
     private QueryResult queryResult;
     
+    @Test
+    void assertNewInstanceWithNotTableAvailableStatement() {
+        SQLStatementContext sqlStatementContext = 
mock(SQLStatementContext.class);
+        assertThrows(UnsupportedEncryptSQLException.class, () -> new 
MergedEncryptShowColumnsMergedResult(queryResult, sqlStatementContext, 
mock(EncryptRule.class)));
+    }
+    
+    @Test
+    void assertNewInstanceWithEmptyTable() {
+        SelectStatementContext sqlStatementContext = 
mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
+        
when(sqlStatementContext.getTablesContext().getSimpleTables()).thenReturn(Collections.emptyList());
+        assertThrows(UnsupportedEncryptSQLException.class, () -> new 
MergedEncryptShowColumnsMergedResult(queryResult, sqlStatementContext, 
mock(EncryptRule.class)));
+    }
+    
     @Test
     void assertNextWithNotHasNext() throws SQLException {
         assertFalse(createMergedEncryptColumnsMergedResult(queryResult, 
mock(EncryptRule.class)).next());

Reply via email to