You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2024/11/09 02:25:27 UTC

(shardingsphere) branch master updated: Add more test cases on EncryptShowColumnsMergedResult (#33601)

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 <zh...@apache.org>
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());