This is an automated email from the ASF dual-hosted git repository. jimin pushed a commit to branch 2.x in repository https://gitbox.apache.org/repos/asf/incubator-seata.git
The following commit(s) were added to refs/heads/2.x by this push: new 8c72b89f05 test: improved test SqlServerInsertRecognizerTest (#7294) 8c72b89f05 is described below commit 8c72b89f053f471c223df356a291f63d78b28e8f Author: Monil <16ucs...@lnmiit.ac.in> AuthorDate: Sun Apr 27 21:45:25 2025 -0700 test: improved test SqlServerInsertRecognizerTest (#7294) --- changes/en-us/2.x.md | 1 + changes/zh-cn/2.x.md | 1 + .../sqlserver/SqlServerInsertRecognizerTest.java | 23 ++++++++++++++-------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md index fe20f90888..c94ff20d80 100644 --- a/changes/en-us/2.x.md +++ b/changes/en-us/2.x.md @@ -57,6 +57,7 @@ Add changes here for all PR submitted to the 2.x branch. - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] more unit tests for Discovery-Eureka - [[#7286](https://github.com/apache/incubator-seata/pull/7286)] Simplified complex test testMsgSerialize in RaftSyncMessageTest by separating it into two tests - [[#7287](https://github.com/apache/incubator-seata/pull/7287)] Refactored testGetErrorMsgWithValidCodeReturnsExpectedMsg to use parameterized unit testing +- [[#7294](https://github.com/apache/incubator-seata/pull/7294)] improved test testGetInsertParamsValue in SqlServerInsertRecognizerTest by splitting and parameterizing - [[#7295](https://github.com/apache/incubator-seata/pull/7295)] updated 3 tests in StringUtilsTest to use parameterized unit testing ### refactor: diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md index 4a673d7b27..54be6c1466 100644 --- a/changes/zh-cn/2.x.md +++ b/changes/zh-cn/2.x.md @@ -56,6 +56,7 @@ - [[#7255](https://github.com/apache/incubator-seata/pull/7255)] 补充更多seata-discovery-eureka模块的单测提高覆盖率 - [[#7286](https://github.com/apache/incubator-seata/pull/7286)] 重构了 RaftSyncMessageTest 中的 testMsgSerialize 测试,通过拆分为两个独立测试以简化逻辑 - [[#7287](https://github.com/apache/incubator-seata/pull/7287)] 重构了 CodeTest 中的 testGetErrorMsgWithValidCodeReturnsExpectedMsg 测试,以简化并使用参数化单元测试。 +- [[#7294](https://github.com/apache/incubator-seata/pull/7294)] 重构了 SqlServerInsertRecognizerTest 中的 testGetInsertParamsValue 测试,通过拆分并使用参数化单元测试进行改进 - [[#7295](https://github.com/apache/incubator-seata/pull/7295)] 重构了 StringUtilsTest 中的 3 个测试,改为使用参数化单元测试 ### refactor: diff --git a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/sqlserver/SqlServerInsertRecognizerTest.java b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/sqlserver/SqlServerInsertRecognizerTest.java index d47cb56791..b24c7fcdd6 100644 --- a/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/sqlserver/SqlServerInsertRecognizerTest.java +++ b/sqlparser/seata-sqlparser-druid/src/test/java/org/apache/seata/sqlparser/druid/sqlserver/SqlServerInsertRecognizerTest.java @@ -19,6 +19,7 @@ package org.apache.seata.sqlparser.druid.sqlserver; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.stream.Stream; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.ast.expr.SQLDateExpr; @@ -31,6 +32,9 @@ import org.apache.seata.sqlparser.druid.AbstractRecognizerTest; import org.apache.seata.sqlparser.util.JdbcConstants; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; /** * The type SqlServer insert recognizer test. @@ -229,18 +233,21 @@ public class SqlServerInsertRecognizerTest extends AbstractRecognizerTest { Assertions.assertEquals(SQLType.INSERT, recognizer.getSQLType()); } - @Test - public void testGetInsertParamsValue() { - String sql = "INSERT INTO t(a) VALUES (?)"; + @ParameterizedTest + @MethodSource("provideSqlWithExplicitValues") + void testGetInsertParamsValueForExplicitValues(String sql, Object expectedValue) { SQLStatement ast = getSQLStatement(sql); SqlServerInsertRecognizer recognizer = new SqlServerInsertRecognizer(sql, ast); - Assertions.assertEquals("?", recognizer.getInsertParamsValue().get(0)); + Assertions.assertEquals(expectedValue, recognizer.getInsertParamsValue().get(0)); + } - String sql_2 = "INSERT INTO t(a) VALUES ()"; - SQLStatement ast_2 = getSQLStatement(sql_2); - SqlServerInsertRecognizer recognizer_2 = new SqlServerInsertRecognizer(sql_2, ast_2); - Assertions.assertEquals("", recognizer_2.getInsertParamsValue().get(0)); + static Stream<Arguments> provideSqlWithExplicitValues() { + return Stream.of( + Arguments.of("INSERT INTO t(a) VALUES (?)", "?"), Arguments.of("INSERT INTO t(a) VALUES ()", "")); + } + @Test + public void testGetInsertParamsValueWithDefaultValues() { String sql_3 = "INSERT INTO T1 DEFAULT VALUES"; SQLStatement ast_3 = getSQLStatement(sql_3); SqlServerInsertRecognizer recognizer_3 = new SqlServerInsertRecognizer(sql_3, ast_3); --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org