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