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 <[email protected]>
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());
+ }
}