|
19 | 19 | import java.util.Arrays;
|
20 | 20 | import java.util.Collections;
|
21 | 21 | import java.util.List;
|
| 22 | +import java.util.stream.Stream; |
22 | 23 |
|
23 | 24 | import com.alibaba.druid.sql.ast.SQLStatement;
|
24 | 25 | import com.alibaba.druid.sql.ast.expr.SQLDateExpr;
|
|
31 | 32 | import org.apache.seata.sqlparser.util.JdbcConstants;
|
32 | 33 | import org.junit.jupiter.api.Assertions;
|
33 | 34 | import org.junit.jupiter.api.Test;
|
| 35 | +import org.junit.jupiter.params.ParameterizedTest; |
| 36 | +import org.junit.jupiter.params.provider.Arguments; |
| 37 | +import org.junit.jupiter.params.provider.MethodSource; |
34 | 38 |
|
35 | 39 | /**
|
36 | 40 | * The type SqlServer insert recognizer test.
|
@@ -229,18 +233,21 @@ public void testGetSQLType() {
|
229 | 233 | Assertions.assertEquals(SQLType.INSERT, recognizer.getSQLType());
|
230 | 234 | }
|
231 | 235 |
|
232 |
| - @Test |
233 |
| - public void testGetInsertParamsValue() { |
234 |
| - String sql = "INSERT INTO t(a) VALUES (?)"; |
| 236 | + @ParameterizedTest |
| 237 | + @MethodSource("provideSqlWithExplicitValues") |
| 238 | + void testGetInsertParamsValueForExplicitValues(String sql, Object expectedValue) { |
235 | 239 | SQLStatement ast = getSQLStatement(sql);
|
236 | 240 | SqlServerInsertRecognizer recognizer = new SqlServerInsertRecognizer(sql, ast);
|
237 |
| - Assertions.assertEquals("?", recognizer.getInsertParamsValue().get(0)); |
| 241 | + Assertions.assertEquals(expectedValue, recognizer.getInsertParamsValue().get(0)); |
| 242 | + } |
238 | 243 |
|
239 |
| - String sql_2 = "INSERT INTO t(a) VALUES ()"; |
240 |
| - SQLStatement ast_2 = getSQLStatement(sql_2); |
241 |
| - SqlServerInsertRecognizer recognizer_2 = new SqlServerInsertRecognizer(sql_2, ast_2); |
242 |
| - Assertions.assertEquals("", recognizer_2.getInsertParamsValue().get(0)); |
| 244 | + static Stream<Arguments> provideSqlWithExplicitValues() { |
| 245 | + return Stream.of( |
| 246 | + Arguments.of("INSERT INTO t(a) VALUES (?)", "?"), Arguments.of("INSERT INTO t(a) VALUES ()", "")); |
| 247 | + } |
243 | 248 |
|
| 249 | + @Test |
| 250 | + public void testGetInsertParamsValueWithDefaultValues() { |
244 | 251 | String sql_3 = "INSERT INTO T1 DEFAULT VALUES";
|
245 | 252 | SQLStatement ast_3 = getSQLStatement(sql_3);
|
246 | 253 | SqlServerInsertRecognizer recognizer_3 = new SqlServerInsertRecognizer(sql_3, ast_3);
|
|
0 commit comments