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