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

Reply via email to