You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/09/06 10:43:29 UTC
[shardingsphere] branch master updated: [Issue #20385]-More unit-tests added for CreateTableStatementHandler (#20788)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 261166c6fe6 [Issue #20385]-More unit-tests added for CreateTableStatementHandler (#20788)
261166c6fe6 is described below
commit 261166c6fe66b757dec20f597d7a715cc59f6d2c
Author: Abhinav Koppula <ab...@gmail.com>
AuthorDate: Tue Sep 6 16:13:21 2022 +0530
[Issue #20385]-More unit-tests added for CreateTableStatementHandler (#20788)
* [Issue #20385]-More unit-tests added for CreateTableStatementHandler
* [ReviewComment]-Renamed unit test to assertGetSelectStatement
---
.../ddl/CreateTableStatementHandlerTest.java | 41 ++++++++++++++++++++--
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
index 0db89da621d..6c68f49f5b9 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
@@ -17,17 +17,25 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.handler.ddl;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+
+import java.util.List;
+import java.util.Optional;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.ddl.MySQLCreateTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.opengauss.ddl.OpenGaussCreateTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.oracle.ddl.OracleCreateTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.ddl.PostgreSQLCreateTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sql92.ddl.SQL92CreateTableStatement;
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.ddl.SQLServerCreateTableStatement;
+import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.dml.SQLServerSelectStatement;
import org.junit.Test;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
public final class CreateTableStatementHandlerTest {
@Test
@@ -42,4 +50,31 @@ public final class CreateTableStatementHandlerTest {
assertFalse(CreateTableStatementHandler.ifNotExists(new SQLServerCreateTableStatement()));
assertFalse(CreateTableStatementHandler.ifNotExists(new SQL92CreateTableStatement()));
}
+
+ @Test
+ public void assertGetSelectStatement() {
+ SQLServerCreateTableStatement sqlServerCreateTableStatement = new SQLServerCreateTableStatement();
+ sqlServerCreateTableStatement.setSelectStatement(new SQLServerSelectStatement());
+ Optional<SelectStatement> actual = CreateTableStatementHandler.getSelectStatement(sqlServerCreateTableStatement);
+ assertTrue(actual.isPresent());
+ assertThat(actual.get(), is(sqlServerCreateTableStatement.getSelectStatement().get()));
+ assertFalse(CreateTableStatementHandler.getSelectStatement(new MySQLCreateTableStatement(false)).isPresent());
+ assertFalse(CreateTableStatementHandler.getSelectStatement(new OpenGaussCreateTableStatement(false)).isPresent());
+ assertFalse(CreateTableStatementHandler.getSelectStatement(new OracleCreateTableStatement()).isPresent());
+ assertFalse(CreateTableStatementHandler.getSelectStatement(new PostgreSQLCreateTableStatement(false)).isPresent());
+ assertFalse(CreateTableStatementHandler.getSelectStatement(new SQL92CreateTableStatement()).isPresent());
+ }
+
+ @Test
+ public void assertGetColumns() {
+ SQLServerCreateTableStatement sqlServerCreateTableStatement = new SQLServerCreateTableStatement();
+ sqlServerCreateTableStatement.getColumns().add(new ColumnSegment(0, 1, new IdentifierValue("identifier")));
+ List<ColumnSegment> actual = CreateTableStatementHandler.getColumns(sqlServerCreateTableStatement);
+ assertThat(actual, is(sqlServerCreateTableStatement.getColumns()));
+ assertTrue(CreateTableStatementHandler.getColumns(new MySQLCreateTableStatement(false)).isEmpty());
+ assertTrue(CreateTableStatementHandler.getColumns(new OpenGaussCreateTableStatement(false)).isEmpty());
+ assertTrue(CreateTableStatementHandler.getColumns(new OracleCreateTableStatement()).isEmpty());
+ assertTrue(CreateTableStatementHandler.getColumns(new PostgreSQLCreateTableStatement(false)).isEmpty());
+ assertTrue(CreateTableStatementHandler.getColumns(new SQL92CreateTableStatement()).isEmpty());
+ }
}