This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 8d0741188d6 Refactor ExternalSQLParserIT (#28103)
8d0741188d6 is described below
commit 8d0741188d6e4cf34f707f299fcb5e576c2080fa
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Aug 15 22:12:02 2023 +0800
Refactor ExternalSQLParserIT (#28103)
* Fix java docs and code format
* Refactor ExternalSQLParserIT
---
.../it/sql/parser/external/ExternalSQLParserIT.java | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
index 4028e0c94b2..dc954912f3d 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.test.it.sql.parser.external;
import com.google.common.base.Preconditions;
-import lombok.SneakyThrows;
import
org.apache.shardingsphere.infra.exception.core.external.ShardingSphereExternalException;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sql.parser.api.CacheOption;
@@ -28,10 +27,11 @@ import
org.apache.shardingsphere.sql.parser.core.ParseASTNode;
import
org.apache.shardingsphere.test.it.sql.parser.external.env.SQLParserExternalITEnvironment;
import
org.apache.shardingsphere.test.it.sql.parser.external.result.SQLParseResultReporter;
import
org.apache.shardingsphere.test.it.sql.parser.external.result.SQLParseResultReporterCreator;
-import org.apache.shardingsphere.test.it.sql.parser.loader.TestParameterLoader;
-import
org.apache.shardingsphere.test.it.sql.parser.loader.TestParameterLoadTemplate;
import
org.apache.shardingsphere.test.it.sql.parser.loader.ExternalCaseSettings;
import
org.apache.shardingsphere.test.it.sql.parser.loader.ExternalSQLParserTestParameter;
+import
org.apache.shardingsphere.test.it.sql.parser.loader.TestParameterLoadTemplate;
+import org.apache.shardingsphere.test.it.sql.parser.loader.TestParameterLoader;
+import
org.apache.shardingsphere.test.it.sql.parser.loader.strategy.TestParameterLoadStrategy;
import
org.apache.shardingsphere.test.it.sql.parser.loader.strategy.impl.GitHubTestParameterLoadStrategy;
import org.junit.jupiter.api.condition.EnabledIf;
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -76,17 +76,19 @@ public abstract class ExternalSQLParserIT {
private static class TestCaseArgumentsProvider implements
ArgumentsProvider {
@Override
- public Stream<? extends Arguments> provideArguments(final
ExtensionContext extensionContext) {
+ public Stream<? extends Arguments> provideArguments(final
ExtensionContext extensionContext) throws ReflectiveOperationException {
ExternalCaseSettings settings =
extensionContext.getRequiredTestClass().getAnnotation(ExternalCaseSettings.class);
Preconditions.checkNotNull(settings, "Annotation
ExternalSQLParserITSettings is required.");
return getTestParameters(settings).stream().map(each ->
Arguments.of(each.getSqlCaseId(), each.getDatabaseType(), each.getSql(),
each.getReportType()));
}
- @SneakyThrows
- private Collection<ExternalSQLParserTestParameter>
getTestParameters(final ExternalCaseSettings settings) {
+ private Collection<ExternalSQLParserTestParameter>
getTestParameters(final ExternalCaseSettings settings) throws
ReflectiveOperationException {
+ TestParameterLoadStrategy loadStrategy = new
GitHubTestParameterLoadStrategy();
+ URI sqlCaseURI = URI.create(settings.caseURL());
+ URI resultURI = URI.create(settings.resultURL());
TestParameterLoadTemplate loadTemplate =
settings.template().getConstructor().newInstance();
- TestParameterLoader loader = new TestParameterLoader(new
GitHubTestParameterLoadStrategy(), loadTemplate);
- return loader.load(URI.create(settings.caseURL()),
URI.create(settings.resultURL()), settings.value(), settings.reportType());
+ TestParameterLoader loader = new TestParameterLoader(loadStrategy,
loadTemplate);
+ return loader.load(sqlCaseURI, resultURI, settings.value(),
settings.reportType());
}
}
}