This is an automated email from the ASF dual-hosted git repository.

zhonghongsheng 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 3397cf503f6 Simplify PipelineE2EDatabaseSettings, use default 
tableStructure to replace scenarioFiles (#37876)
3397cf503f6 is described below

commit 3397cf503f6465ba4656b49ad08eb6c7d62b84df
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Wed Jan 28 20:44:31 2026 +0800

    Simplify PipelineE2EDatabaseSettings, use default tableStructure to replace 
scenarioFiles (#37876)
    
    * Add tableStructure in PipelineE2ESettings and PipelineTestParameter
    
    * Remove scenarioFiles in E2E
---
 .../operation/pipeline/cases/PipelineContainerComposer.java  |  4 +++-
 .../test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java      |  6 +++---
 .../cases/createtable/CreateTableSQLGeneratorIT.java         |  6 +++---
 .../cases/migration/general/MySQLMigrationGeneralE2EIT.java  |  2 +-
 .../migration/general/MySQLTimeTypesMigrationE2EIT.java      |  2 +-
 .../migration/general/PostgreSQLMigrationGeneralE2EIT.java   |  4 ++--
 .../migration/general/PostgreSQLToMySQLMigrationE2EIT.java   |  2 +-
 .../cases/migration/general/RollbackMigrationE2EIT.java      |  2 +-
 .../cases/migration/general/RulesMigrationE2EIT.java         |  4 ++--
 .../cases/migration/primarykey/IndexesMigrationE2EIT.java    |  4 ++--
 .../cases/migration/primarykey/MariaDBMigrationE2EIT.java    |  2 +-
 .../migration/primarykey/TextPrimaryKeyMigrationE2EIT.java   |  6 +++---
 .../pipeline/framework/param/PipelineE2ESettings.java        |  9 ++++++++-
 .../param/PipelineE2ETestCaseArgumentsProvider.java          | 12 +++++++-----
 .../pipeline/framework/param/PipelineTestParameter.java      |  6 ++++--
 15 files changed, 42 insertions(+), 29 deletions(-)

diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
index a017dd11a8a..b75f3c91966 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
@@ -132,7 +132,9 @@ public final class PipelineContainerComposer implements 
AutoCloseable {
             username = 
E2ETestEnvironment.getInstance().getNativeDatabaseEnvironment().getUser();
             password = 
E2ETestEnvironment.getInstance().getNativeDatabaseEnvironment().getPassword();
         }
-        extraSQLCommand = 
JAXB.unmarshal(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResource(testParam.getScenario())),
 ExtraSQLCommand.class);
+        extraSQLCommand = null != testParam.getScenario()
+                ? 
JAXB.unmarshal(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResource(testParam.getScenario())),
 ExtraSQLCommand.class)
+                : null;
         containerComposer.start();
         sourceDataSource = 
StorageContainerUtils.generateDataSource(getActualJdbcUrlTemplate(DS_0, false), 
username, password, 2);
         proxyDataSource = StorageContainerUtils.generateDataSource(
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
index 390fabb874d..28c308be402 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/cdc/CDCE2EIT.java
@@ -73,9 +73,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * CDC E2E IT.
  */
 @PipelineE2ESettings(database = {
-        @PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/scenario/general/mysql.xml"),
-        @PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles = 
"env/scenario/general/postgresql.xml"),
-        @PipelineE2EDatabaseSettings(type = "openGauss", scenarioFiles = 
"env/scenario/general/opengauss.xml")})
+        @PipelineE2EDatabaseSettings(type = "MySQL"),
+        @PipelineE2EDatabaseSettings(type = "PostgreSQL"),
+        @PipelineE2EDatabaseSettings(type = "openGauss")})
 @Slf4j
 class CDCE2EIT {
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
index ac3f64b7558..5296cf5389c 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
@@ -51,9 +51,9 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 @PipelineE2ESettings(database = {
-        @PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/common/none.xml"),
-        @PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles = 
"env/common/none.xml"),
-        @PipelineE2EDatabaseSettings(type = "openGauss", scenarioFiles = 
"env/common/none.xml")})
+        @PipelineE2EDatabaseSettings(type = "MySQL"),
+        @PipelineE2EDatabaseSettings(type = "PostgreSQL"),
+        @PipelineE2EDatabaseSettings(type = "openGauss")})
 class CreateTableSQLGeneratorIT {
     
     private static final String DEFAULT_SCHEMA = "public";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
index 3fab6209c1c..dab81aa027b 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLMigrationGeneralE2EIT.java
@@ -50,7 +50,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@PipelineE2ESettings(database = @PipelineE2EDatabaseSettings(type = "MySQL", 
scenarioFiles = "env/scenario/general/mysql.xml"))
+@PipelineE2ESettings(database = @PipelineE2EDatabaseSettings(type = "MySQL"))
 @Slf4j
 class MySQLMigrationGeneralE2EIT extends AbstractMigrationE2EIT {
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLTimeTypesMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLTimeTypesMigrationE2EIT.java
index df2e9422607..3d4aa57205c 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLTimeTypesMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/MySQLTimeTypesMigrationE2EIT.java
@@ -38,7 +38,7 @@ import java.sql.SQLException;
  * E2E IT for time types of MySQL, includes.
  * 1) datetime,timestamp,date default null
  */
-@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2ESettings.PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles 
= "env/common/none.xml"))
+@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2ESettings.PipelineE2EDatabaseSettings(type = "MySQL"))
 class MySQLTimeTypesMigrationE2EIT extends AbstractMigrationE2EIT {
     
     @ParameterizedTest(name = "{0}")
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
index 3aacb9aa5ef..77beafad189 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLMigrationGeneralE2EIT.java
@@ -50,8 +50,8 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @PipelineE2ESettings(database = {
-        @PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles = 
"env/scenario/general/postgresql.xml"),
-        @PipelineE2EDatabaseSettings(type = "openGauss", scenarioFiles = 
"env/scenario/general/opengauss.xml")})
+        @PipelineE2EDatabaseSettings(type = "PostgreSQL"),
+        @PipelineE2EDatabaseSettings(type = "openGauss")})
 @Slf4j
 class PostgreSQLMigrationGeneralE2EIT extends AbstractMigrationE2EIT {
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLToMySQLMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLToMySQLMigrationE2EIT.java
index 07577cc7bc5..a965614d3ba 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLToMySQLMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/PostgreSQLToMySQLMigrationE2EIT.java
@@ -52,7 +52,7 @@ import java.util.concurrent.TimeUnit;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/common/none.xml"))
+@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2EDatabaseSettings(type = "MySQL"))
 @Slf4j
 class PostgreSQLToMySQLMigrationE2EIT extends AbstractMigrationE2EIT {
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RollbackMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RollbackMigrationE2EIT.java
index f903f37db20..19f551676f1 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RollbackMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RollbackMigrationE2EIT.java
@@ -36,7 +36,7 @@ import java.sql.Connection;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2ESettings.PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles 
= "env/common/none.xml"))
+@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2ESettings.PipelineE2EDatabaseSettings(type = "MySQL"))
 class RollbackMigrationE2EIT extends AbstractMigrationE2EIT {
     
     @ParameterizedTest(name = "{0}")
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RulesMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RulesMigrationE2EIT.java
index cddd944f967..a30dc183f33 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RulesMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/general/RulesMigrationE2EIT.java
@@ -44,8 +44,8 @@ import static org.hamcrest.Matchers.is;
  * 2) only encrypt rule.
  */
 @PipelineE2ESettings(fetchSingle = true, database = {
-        @PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/scenario/primary_key/text_primary_key/mysql.xml"),
-        @PipelineE2EDatabaseSettings(type = "MariaDB", scenarioFiles = 
"env/scenario/primary_key/text_primary_key/mysql.xml")
+        @PipelineE2EDatabaseSettings(type = "MySQL"),
+        @PipelineE2EDatabaseSettings(type = "MariaDB")
 })
 class RulesMigrationE2EIT extends AbstractMigrationE2EIT {
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/IndexesMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/IndexesMigrationE2EIT.java
index 90fa1c2d7ee..4fbb466b515 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/IndexesMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/IndexesMigrationE2EIT.java
@@ -60,8 +60,8 @@ import static org.mockito.Mockito.mock;
  * 4) multiple columns unique key, first column type is BIGINT.
  */
 @PipelineE2ESettings(fetchSingle = true, database = {
-        @PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/common/none.xml"),
-        @PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles = 
"env/common/none.xml")})
+        @PipelineE2EDatabaseSettings(type = "MySQL"),
+        @PipelineE2EDatabaseSettings(type = "PostgreSQL")})
 class IndexesMigrationE2EIT extends AbstractMigrationE2EIT {
     
     private static final String ORDER_TABLE_SHARDING_RULE_FORMAT = "CREATE 
SHARDING TABLE RULE t_order(\n"
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/MariaDBMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/MariaDBMigrationE2EIT.java
index 44fd41b4d85..7c986007250 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/MariaDBMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/MariaDBMigrationE2EIT.java
@@ -43,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 // TODO Use MariaDB docker image
 @Disabled
-@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/common/none.xml"))
+@PipelineE2ESettings(fetchSingle = true, database = 
@PipelineE2EDatabaseSettings(type = "MySQL"))
 class MariaDBMigrationE2EIT extends AbstractMigrationE2EIT {
     
     private static final String SOURCE_TABLE_NAME = "t_order";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/TextPrimaryKeyMigrationE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/TextPrimaryKeyMigrationE2EIT.java
index 4ffe71f6027..cddc9059ae9 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/TextPrimaryKeyMigrationE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/migration/primarykey/TextPrimaryKeyMigrationE2EIT.java
@@ -41,9 +41,9 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @PipelineE2ESettings(fetchSingle = true, database = {
-        @PipelineE2EDatabaseSettings(type = "MySQL", scenarioFiles = 
"env/scenario/primary_key/text_primary_key/mysql.xml"),
-        @PipelineE2EDatabaseSettings(type = "PostgreSQL", scenarioFiles = 
"env/scenario/primary_key/text_primary_key/postgresql.xml"),
-        @PipelineE2EDatabaseSettings(type = "openGauss", scenarioFiles = 
"env/scenario/primary_key/text_primary_key/postgresql.xml")})
+        @PipelineE2EDatabaseSettings(type = "MySQL"),
+        @PipelineE2EDatabaseSettings(type = "PostgreSQL"),
+        @PipelineE2EDatabaseSettings(type = "openGauss")})
 class TextPrimaryKeyMigrationE2EIT extends AbstractMigrationE2EIT {
     
     private static final String TARGET_TABLE_NAME = "t_order";
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ESettings.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ESettings.java
index 27191a71f26..066b4d2d382 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ESettings.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ESettings.java
@@ -62,6 +62,13 @@ public @interface PipelineE2ESettings {
          * 
          * @return scenario files
          */
-        String[] scenarioFiles();
+        String[] scenarioFiles() default {};
+        
+        /**
+         * Get table structures.
+         *
+         * @return table structures
+         */
+        String[] tableStructures() default {"default"};
     }
 }
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ETestCaseArgumentsProvider.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ETestCaseArgumentsProvider.java
index ebfd4edb5a7..55dde8c1950 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ETestCaseArgumentsProvider.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineE2ETestCaseArgumentsProvider.java
@@ -30,7 +30,6 @@ import org.junit.jupiter.params.support.ParameterDeclarations;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.LinkedList;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
@@ -53,11 +52,14 @@ public final class PipelineE2ETestCaseArgumentsProvider 
implements ArgumentsProv
         DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, databaseSettings.type());
         Collection<String> databaseImages = 
E2ETestEnvironment.getInstance().getDockerEnvironment().getDatabaseImages(databaseType);
         return settings.fetchSingle() && !databaseImages.isEmpty()
-                ? provideArguments(databaseSettings.scenarioFiles(), 
databaseType, databaseImages.iterator().next())
-                : databaseImages.stream().flatMap(each -> 
provideArguments(databaseSettings.scenarioFiles(), databaseType, 
each).stream()).collect(Collectors.toList());
+                ? provideArguments(databaseSettings.scenarioFiles(), 
databaseSettings.tableStructures(), databaseType, 
databaseImages.iterator().next())
+                : databaseImages.stream().flatMap(each -> 
provideArguments(databaseSettings.scenarioFiles(), 
databaseSettings.tableStructures(), databaseType, each).stream()).toList();
     }
     
-    private Collection<Arguments> provideArguments(final String[] 
scenarioFiles, final DatabaseType databaseType, final String 
databaseContainerImage) {
-        return Arrays.stream(scenarioFiles).map(each -> Arguments.of(new 
PipelineTestParameter(databaseType, databaseContainerImage, 
each))).collect(Collectors.toList());
+    private Collection<Arguments> provideArguments(final String[] 
scenarioFiles, final String[] tableStructures, final DatabaseType databaseType, 
final String databaseContainerImage) {
+        if (scenarioFiles.length > 0) {
+            return Arrays.stream(scenarioFiles).map(each -> Arguments.of(new 
PipelineTestParameter(databaseType, databaseContainerImage, each, 
null))).toList();
+        }
+        return Arrays.stream(tableStructures).map(each -> Arguments.of(new 
PipelineTestParameter(databaseType, databaseContainerImage, null, 
each))).toList();
     }
 }
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineTestParameter.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineTestParameter.java
index 6856d306325..8ccbf45a6fa 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineTestParameter.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/param/PipelineTestParameter.java
@@ -34,9 +34,11 @@ public final class PipelineTestParameter {
     // TODO It's not scenario. Remove it later
     private final String scenario;
     
+    private final String tableStructure;
+    
     private final int storageContainerCount;
     
-    public PipelineTestParameter(final DatabaseType databaseType, final String 
databaseContainerImage, final String scenario) {
-        this(databaseType, databaseContainerImage, scenario, 1);
+    public PipelineTestParameter(final DatabaseType databaseType, final String 
databaseContainerImage, final String scenario, final String tableStructure) {
+        this(databaseType, databaseContainerImage, scenario, tableStructure, 
1);
     }
 }

Reply via email to