This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 b2a97d69a88 Refactor ScenarioDataPath (#36767)
b2a97d69a88 is described below
commit b2a97d69a888a441c95f397036c43daab1c0aeb9
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Oct 1 00:11:59 2025 +0800
Refactor ScenarioDataPath (#36767)
---
.../storage/mount/MountSQLResourceGenerator.java | 4 +--
.../database/DatabaseEnvironmentManager.java | 2 +-
.../type/scenario/path/ScenarioCommonPath.java | 4 +--
.../type/scenario/path/ScenarioDataPath.java | 37 ++++++++--------------
.../test/e2e/sql/env/SQLE2EEnvironmentEngine.java | 3 +-
.../test/e2e/sql/it/sql/dml/BaseDMLE2EIT.java | 4 +--
.../test/e2e/sql/it/sql/dql/BaseDQLE2EIT.java | 4 +--
7 files changed, 24 insertions(+), 34 deletions(-)
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/mount/MountSQLResourceGenerator.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/mount/MountSQLResourceGenerator.java
index 6dbda731984..9c9dd5f6cd6 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/mount/MountSQLResourceGenerator.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/mount/MountSQLResourceGenerator.java
@@ -87,11 +87,11 @@ public final class MountSQLResourceGenerator {
private Collection<String> getToBeMountedScenarioSQLFiles(final String
scenario) {
Collection<String> result = new LinkedList<>();
- String actualScenarioFile = new
ScenarioDataPath(scenario).getInitSQLResourcePath(Type.ACTUAL, databaseType) +
"/" + TO_BE_MOUNTED_ACTUAL_SCENARIO_SQL_FILE;
+ String actualScenarioFile = new ScenarioDataPath(scenario,
Type.ACTUAL).getInitSQLResourcePath(databaseType) + "/" +
TO_BE_MOUNTED_ACTUAL_SCENARIO_SQL_FILE;
if (null !=
Thread.currentThread().getContextClassLoader().getResource(actualScenarioFile))
{
result.add(actualScenarioFile);
}
- String expectedScenarioFile = new
ScenarioDataPath(scenario).getInitSQLResourcePath(Type.EXPECTED, databaseType)
+ "/" + TO_BE_MOUNTED_EXPECTED_SCENARIO_SQL_FILE;
+ String expectedScenarioFile = new ScenarioDataPath(scenario,
Type.EXPECTED).getInitSQLResourcePath(databaseType) + "/" +
TO_BE_MOUNTED_EXPECTED_SCENARIO_SQL_FILE;
if (null !=
Thread.currentThread().getContextClassLoader().getResource(expectedScenarioFile))
{
result.add(expectedScenarioFile);
}
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/database/DatabaseEnvironmentManager.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/database/DatabaseEnvironmentManager.java
index a942e52dd02..cf49987ae41 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/database/DatabaseEnvironmentManager.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/database/DatabaseEnvironmentManager.java
@@ -50,7 +50,7 @@ public final class DatabaseEnvironmentManager {
* @return database types
*/
public static Map<String, DatabaseType> getDatabaseTypes(final String
scenario, final DatabaseType defaultDatabaseType, final Type type) {
- return createDatabaseTypes(unmarshal(new
ScenarioDataPath(scenario).getDatabasesFile(type)).getDatabases(),
defaultDatabaseType);
+ return createDatabaseTypes(unmarshal(new ScenarioDataPath(scenario,
type).getDatabasesFile()).getDatabases(), defaultDatabaseType);
}
private static Map<String, DatabaseType> createDatabaseTypes(final
Collection<String> datasourceNames, final DatabaseType defaultDatabaseType) {
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioCommonPath.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioCommonPath.java
index 2a41a1dea3f..b1956507e7f 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioCommonPath.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioCommonPath.java
@@ -28,8 +28,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
*/
public final class ScenarioCommonPath {
- private static final String ROOT_PATH = "env/scenario";
-
private static final String RULE_CONFIG_FILE = "rules.yaml";
private static final String AUTHORITY_FILE = "authority.xml";
@@ -37,7 +35,7 @@ public final class ScenarioCommonPath {
private final String scenarioDirectory;
public ScenarioCommonPath(final String scenario) {
- scenarioDirectory = String.join("/", ROOT_PATH, scenario);
+ scenarioDirectory = String.join("/", "env", "scenario", scenario);
}
/**
diff --git
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioDataPath.java
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioDataPath.java
index d16d4e9b2e0..6255fc2fbdc 100644
---
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioDataPath.java
+++
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/type/scenario/path/ScenarioDataPath.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.test.e2e.env.runtime.type.scenario.path;
-import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import java.net.URL;
@@ -28,13 +27,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Scenario data path.
*/
-@RequiredArgsConstructor
public final class ScenarioDataPath {
- private static final String ROOT_PATH = "env/scenario";
-
- private static final String DATA_PATH = "data";
-
private static final String DATABASES_FILE = "databases.xml";
private static final String DATASET_FILE = "dataset.xml";
@@ -43,30 +37,32 @@ public final class ScenarioDataPath {
private static final String BASIC_INIT_SQL_FILE = "init.sql";
- private final String scenario;
+ private final String scenarioDirectory;
+
+ public ScenarioDataPath(final String scenario, final Type type) {
+ scenarioDirectory = String.join("/", "env", "scenario", scenario,
"data", type.name().toLowerCase());
+ }
/**
* Get databases file.
*
- * @param type data type
* @return databases file
*/
- public String getDatabasesFile(final Type type) {
- return getFile(type, DATABASES_FILE);
+ public String getDatabasesFile() {
+ return getFile(DATABASES_FILE);
}
/**
* Get data set file.
*
- * @param type data type
* @return data set file
*/
- public String getDataSetFile(final Type type) {
- return getFile(type, DATASET_FILE);
+ public String getDataSetFile() {
+ return getFile(DATASET_FILE);
}
- private String getFile(final Type type, final String fileName) {
- String path = String.join("/", getBasicPath(type), fileName);
+ private String getFile(final String fileName) {
+ String path = String.join("/", scenarioDirectory, fileName);
URL url =
Thread.currentThread().getContextClassLoader().getResource(path);
assertNotNull(url, String.format("File `%s` must exist.", path));
return url.getFile();
@@ -90,7 +86,7 @@ public final class ScenarioDataPath {
private String getActualDatabaseInitSQLResourceFile(final String
databaseName, final DatabaseType databaseType) {
String initSQLFileName = String.join("-",
Type.ACTUAL.name().toLowerCase(), databaseName, BASIC_INIT_SQL_FILE);
- return String.join("/", getInitSQLResourcePath(Type.ACTUAL,
databaseType), initSQLFileName);
+ return String.join("/", getInitSQLResourcePath(databaseType),
initSQLFileName);
}
private String getActualDatabaseInitSQLFile(final String databaseName,
final DatabaseType databaseType) {
@@ -103,16 +99,11 @@ public final class ScenarioDataPath {
/**
* Get init SQL resource path.
*
- * @param type data type
* @param databaseType database type
* @return init SQL resource path
*/
- public String getInitSQLResourcePath(final Type type, final DatabaseType
databaseType) {
- return String.join("/", getBasicPath(type), INIT_SQL_PATH,
databaseType.getType().toLowerCase());
- }
-
- private String getBasicPath(final Type type) {
- return String.join("/", ROOT_PATH, scenario, DATA_PATH,
type.name().toLowerCase());
+ public String getInitSQLResourcePath(final DatabaseType databaseType) {
+ return String.join("/", scenarioDirectory, INIT_SQL_PATH,
databaseType.getType().toLowerCase());
}
/**
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/SQLE2EEnvironmentEngine.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/SQLE2EEnvironmentEngine.java
index 9e0d08de355..133d15a6f8b 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/SQLE2EEnvironmentEngine.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/SQLE2EEnvironmentEngine.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.test.e2e.env.container.util.SQLScriptUtils;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.ArtifactEnvironment.Adapter;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.ArtifactEnvironment.Mode;
import
org.apache.shardingsphere.test.e2e.env.runtime.type.scenario.path.ScenarioDataPath;
+import
org.apache.shardingsphere.test.e2e.env.runtime.type.scenario.path.ScenarioDataPath.Type;
import
org.apache.shardingsphere.test.e2e.sql.env.container.compose.ContainerComposer;
import
org.apache.shardingsphere.test.e2e.sql.env.container.compose.ContainerComposerRegistry;
@@ -63,7 +64,7 @@ public final class SQLE2EEnvironmentEngine {
}
private void executeLogicDatabaseInitSQLFileOnlyOnce(final String key,
final String scenario, final DatabaseType databaseType) {
- Optional<String> logicDatabaseInitSQLFile = new
ScenarioDataPath(scenario).findActualDatabaseInitSQLFile(DefaultDatabase.LOGIC_NAME,
databaseType);
+ Optional<String> logicDatabaseInitSQLFile = new
ScenarioDataPath(scenario,
Type.ACTUAL).findActualDatabaseInitSQLFile(DefaultDatabase.LOGIC_NAME,
databaseType);
if (!logicDatabaseInitSQLFile.isPresent()) {
return;
}
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dml/BaseDMLE2EIT.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dml/BaseDMLE2EIT.java
index 112a733f5a9..dde0f09fe7c 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dml/BaseDMLE2EIT.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dml/BaseDMLE2EIT.java
@@ -93,8 +93,8 @@ public abstract class BaseDMLE2EIT implements SQLE2EIT {
* @throws JAXBException JAXB exception
*/
protected void init(final E2ETestParameter testParam) throws SQLException,
IOException, JAXBException {
- dataSetEnvironmentManager =
- new DataSetEnvironmentManager(new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
getEnvironmentEngine().getActualDataSourceMap(), testParam.getDatabaseType());
+ dataSetEnvironmentManager = new DataSetEnvironmentManager(
+ new ScenarioDataPath(testParam.getScenario(),
Type.ACTUAL).getDataSetFile(), getEnvironmentEngine().getActualDataSourceMap(),
testParam.getDatabaseType());
dataSetEnvironmentManager.fillData();
}
diff --git
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dql/BaseDQLE2EIT.java
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dql/BaseDQLE2EIT.java
index 4d0583a5491..1bd3c48cd9b 100644
---
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dql/BaseDQLE2EIT.java
+++
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/it/sql/dql/BaseDQLE2EIT.java
@@ -87,9 +87,9 @@ public abstract class BaseDQLE2EIT implements SQLE2EIT {
synchronized (FILLED_SUITES) {
if (!FILLED_SUITES.contains(cacheKey)) {
new DataSetEnvironmentManager(
- new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.ACTUAL),
getEnvironmentEngine().getActualDataSourceMap(),
testParam.getDatabaseType()).fillData();
+ new ScenarioDataPath(testParam.getScenario(),
Type.ACTUAL).getDataSetFile(), getEnvironmentEngine().getActualDataSourceMap(),
testParam.getDatabaseType()).fillData();
new DataSetEnvironmentManager(
- new
ScenarioDataPath(testParam.getScenario()).getDataSetFile(Type.EXPECTED),
getEnvironmentEngine().getExpectedDataSourceMap(),
testParam.getDatabaseType()).fillData();
+ new ScenarioDataPath(testParam.getScenario(),
Type.EXPECTED).getDataSetFile(),
getEnvironmentEngine().getExpectedDataSourceMap(),
testParam.getDatabaseType()).fillData();
FILLED_SUITES.add(cacheKey);
}
}