This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 6f6d7917d20 Add databaseType param for
DynamicLoadingSQLParserParameterizedTest (#22012)
6f6d7917d20 is described below
commit 6f6d7917d20ca147c90a2efa2c2fc3e25eac63f2
Author: Junfeng <[email protected]>
AuthorDate: Tue Nov 8 19:01:59 2022 +0800
Add databaseType param for DynamicLoadingSQLParserParameterizedTest (#22012)
* feat: restructure DynamicLoadingSQLParserParameterizedTest
* feat: modify with URI
* feat: Add databaseType param & restructure getSQLCases
* feat: import shardingsphere-sql-parser
* fix: modify
* fix: modify
* fix: update Parameters
* feat: restructure DynamicLoadingSQLParserParameterizedTest
* feat: Add databaseType param & restructure getSQLCases
* fix: modify
* fix: modify
* fix: update Parameters
* fix: modify
Co-authored-by: Jacob953 <[email protected]>
---
.../base/DynamicLoadingSQLParserParameterizedTest.java | 15 ++++++++-------
.../mysql/DynamicLoadingMySQLParserParameterizedIT.java | 4 ++--
.../DynamicLoadingPostgreSQLParserParameterizedIT.java | 5 +++--
3 files changed, 13 insertions(+), 11 deletions(-)
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
index dafd769e6b6..de1dd184904 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
+++
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
@@ -55,15 +55,15 @@ public abstract class
DynamicLoadingSQLParserParameterizedTest {
// TODO this will refactor as an abstract
private final CSVResultGenerator resultGenerator;
- protected static Collection<Object[]> getTestParameters(final String
sqlCaseApi, final URI sqlCaseURI) {
+ protected static Collection<Object[]> getTestParameters(final String
sqlCaseApi, final URI sqlCaseURI, final String databaseType) {
Collection<Object[]> result = new LinkedList<>();
if (sqlCaseApi.isEmpty()) {
- result.addAll(getSQLCases("localFile",
getContent(sqlCaseURI).split("\n")));
+ result.addAll(getSQLCases("localFile", getContent(sqlCaseURI),
databaseType));
} else {
for (Map<String, String> each : getResponse(sqlCaseApi,
sqlCaseURI)) {
String sqlCaseFileName = each.get("name").split("\\.")[0];
- String[] sqlCaseFileContent =
getContent(URI.create(each.get("download_url"))).split("\n");
- result.addAll(getSQLCases(sqlCaseFileName,
sqlCaseFileContent));
+ String sqlCaseFileContent =
getContent(URI.create(each.get("download_url")));
+ result.addAll(getSQLCases(sqlCaseFileName, sqlCaseFileContent,
databaseType));
}
}
if (result.isEmpty()) {
@@ -113,13 +113,14 @@ public abstract class
DynamicLoadingSQLParserParameterizedTest {
return result;
}
- private static Collection<Object[]> getSQLCases(final String
sqlCaseFileName, final String[] sqlCaseFileContent) {
+ private static Collection<Object[]> getSQLCases(final String
sqlCaseFileName, final String sqlCaseFileContent, final String databaseType) {
Collection<Object[]> result = new LinkedList<>();
+ String[] lines = sqlCaseFileContent.split("\n");
int sqlCaseEnum = 1;
- for (String each : sqlCaseFileContent) {
+ for (String each : lines) {
if (!each.isEmpty() && Character.isLetter(each.charAt(0)) &&
each.charAt(each.length() - 1) == ';') {
String sqlCaseId = sqlCaseFileName + sqlCaseEnum;
- result.add(new Object[]{sqlCaseId, each});
+ result.add(new Object[]{sqlCaseId, each, databaseType});
sqlCaseEnum++;
}
}
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/mysql/DynamicLoadingMySQLParserParameterizedIT.java
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/mysql/DynamicLoadingMySQLParserParameterizedIT.java
index 2909153ac28..778581997b3 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/mysql/DynamicLoadingMySQLParserParameterizedIT.java
+++
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/mysql/DynamicLoadingMySQLParserParameterizedIT.java
@@ -40,10 +40,10 @@ public final class DynamicLoadingMySQLParserParameterizedIT
extends DynamicLoadi
*
* @return Test cases from GitHub.
*/
- @Parameters(name = "{0} (MySQL) -> {1}")
+ @Parameters(name = "{0} ({2}) -> {1}")
public static Collection<Object[]> getTestParameters() {
if (IntegrationTestEnvironment.getInstance().isSqlParserITEnabled()) {
- return
DynamicLoadingSQLParserParameterizedTest.getTestParameters("https://api.github.com/repos/",
URI.create("https://github.com/mysql/mysql-server/tree/8.0/mysql-test/t"));
+ return
DynamicLoadingSQLParserParameterizedTest.getTestParameters("https://api.github.com/repos/",
URI.create("https://github.com/mysql/mysql-server/tree/8.0/mysql-test/t"),
"MySQL");
}
return Collections.emptyList();
}
diff --git
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/DynamicLoadingPostgreSQLParserParameterizedIT.java
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/DynamicLoadingPostgreSQLParserParameterizedIT.java
index 0ca20cb18d8..9d1f29595d8 100644
---
a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/DynamicLoadingPostgreSQLParserParameterizedIT.java
+++
b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/postgresql/DynamicLoadingPostgreSQLParserParameterizedIT.java
@@ -40,10 +40,11 @@ public final class
DynamicLoadingPostgreSQLParserParameterizedIT extends Dynamic
*
* @return Test cases from GitHub.
**/
- @Parameters(name = "{0} (PostgreSQL) -> {1}")
+ @Parameters(name = "{0} ({2}) -> {1}")
public static Collection<Object[]> getTestParameters() {
if (IntegrationTestEnvironment.getInstance().isSqlParserITEnabled()) {
- return
DynamicLoadingSQLParserParameterizedTest.getTestParameters("https://api.github.com/repos/",
URI.create("https://github.com/postgres/postgres/tree/master/src/test/regress/sql"));
+ return
DynamicLoadingSQLParserParameterizedTest.getTestParameters("https://api.github.com/repos/",
URI.create("https://github.com/postgres/postgres/tree/master/src/test/regress/sql"),
+ "PostgreSQL");
}
return Collections.emptyList();
}