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());