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 bf3f3abaa04 Refactor StorageContainerConfiguration.actualDatabaseTypes and expectedDatabaseTypes (#36570) bf3f3abaa04 is described below commit bf3f3abaa04ed2908c3e596f84433de114b4245c Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Mon Sep 15 18:04:10 2025 +0800 Refactor StorageContainerConfiguration.actualDatabaseTypes and expectedDatabaseTypes (#36570) --- .../agent/engine/env/AgentE2ETestEnvironment.java | 10 ++--- .../config/StorageContainerConfiguration.java | 7 ---- .../StorageContainerConfigurationFactory.java | 49 ---------------------- .../type/docker/DockerStorageContainer.java | 11 ++++- .../type/natived/NativeStorageContainer.java | 25 +++++------ .../database/DatabaseEnvironmentManager.java | 4 +- .../createtable/CreateTableSQLGeneratorIT.java | 4 +- .../container/compose/DockerContainerComposer.java | 3 +- .../ClusterShowProcessListContainerComposer.java | 7 ++-- .../container/compose/DockerContainerComposer.java | 6 +-- .../compose/mode/ClusterContainerComposer.java | 5 +-- .../compose/mode/StandaloneContainerComposer.java | 5 +-- 12 files changed, 39 insertions(+), 97 deletions(-) diff --git a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java index ef9d5a2d594..afaa4752463 100644 --- a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java +++ b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java @@ -38,7 +38,7 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.constants.ProxyCo import org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType; import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer; import org.awaitility.Awaitility; @@ -116,8 +116,8 @@ public final class AgentE2ETestEnvironment { containers = new ITContainers(); ShardingSphereProxyClusterContainer proxyContainer = new ShardingSphereProxyClusterContainer(databaseType, getAdaptorContainerConfiguration()); proxyContainer.withLogConsumer(testConfig.isLogEnabled() ? this::collectLogs : null); - DockerStorageContainer storageContainer = new DockerStorageContainer(databaseType, - imageConfig.getMysqlImage(), StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, null)); + DockerStorageContainer storageContainer = new DockerStorageContainer( + databaseType, imageConfig.getMysqlImage(), new StorageContainerConfiguration(null, StorageContainerConfigurationOptionFactory.newInstance(databaseType))); proxyContainer.dependsOn(storageContainer); containers.registerContainer(storageContainer); GovernanceContainer governanceContainer = GovernanceContainerFactory.newInstance("ZooKeeper"); @@ -148,8 +148,8 @@ public final class AgentE2ETestEnvironment { private void createJDBCEnvironment(final DockerITContainer agentPluginContainer) { containers = new ITContainers(); - DockerStorageContainer storageContainer = new DockerStorageContainer(databaseType, - imageConfig.getMysqlImage(), StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, null)); + DockerStorageContainer storageContainer = new DockerStorageContainer( + databaseType, imageConfig.getMysqlImage(), new StorageContainerConfiguration(null, StorageContainerConfigurationOptionFactory.newInstance(databaseType))); ShardingSphereJdbcAgentContainer jdbcAgentContainer = new ShardingSphereJdbcAgentContainer( imageConfig.getJdbcProjectImage(), testConfig.getPluginType(), testConfig.isLogEnabled() ? this::collectLogs : null); jdbcAgentContainer.dependsOn(storageContainer); diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java index e2e29719f7b..75922728d51 100644 --- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java +++ b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java @@ -19,11 +19,8 @@ package org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config; import lombok.Getter; import lombok.RequiredArgsConstructor; -import org.apache.shardingsphere.database.connector.core.type.DatabaseType; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption; -import java.util.Map; - /** * Docker storage container configuration. */ @@ -34,8 +31,4 @@ public final class StorageContainerConfiguration { private final String scenario; private final StorageContainerConfigurationOption configurationOption; - - private final Map<String, DatabaseType> actualDatabaseTypes; - - private final Map<String, DatabaseType> expectedDatabaseTypes; } diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java deleted file mode 100644 index 1ec7133d95e..00000000000 --- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config; - -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.apache.shardingsphere.database.connector.core.type.DatabaseType; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption; -import org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager; -import org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type; - -import java.util.Collections; -import java.util.Map; - -/** - * Storage container configuration factory. - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public final class StorageContainerConfigurationFactory { - - /** - * Create new instance of storage container configuration. - * - * @param option storage container configuration option - * @param databaseType database type - * @param scenario scenario - * @return created storage container configuration - */ - public static StorageContainerConfiguration newInstance(final StorageContainerConfigurationOption option, final DatabaseType databaseType, final String scenario) { - Map<String, DatabaseType> actualDatabaseTypes = null == scenario ? Collections.emptyMap() : DatabaseEnvironmentManager.getDatabaseTypes(scenario, databaseType, Type.ACTUAL); - Map<String, DatabaseType> expectedDatabaseTypes = null == scenario ? Collections.emptyMap() : DatabaseEnvironmentManager.getDatabaseTypes(scenario, databaseType, Type.EXPECTED); - return new StorageContainerConfiguration(scenario, option, actualDatabaseTypes, expectedDatabaseTypes); - } -} diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java index 19f35f5847d..a0aea6dd738 100644 --- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java +++ b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java @@ -30,11 +30,14 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.util.DockerImageV import org.apache.shardingsphere.test.e2e.env.container.atomic.util.StorageContainerUtils; import org.apache.shardingsphere.test.e2e.env.container.wait.JdbcConnectionWaitStrategy; import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment; +import org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager; +import org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type; import javax.sql.DataSource; import java.sql.DriverManager; import java.time.Duration; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -108,8 +111,12 @@ public class DockerStorageContainer extends DockerITContainer implements Storage @Override protected void postStart() { - actualDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(storageContainerConfig.getActualDatabaseTypes()))); - expectedDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(storageContainerConfig.getExpectedDatabaseTypes()))); + actualDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(getDataSourceNameAndTypeMap(Type.ACTUAL)))); + expectedDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(getDataSourceNameAndTypeMap(Type.EXPECTED)))); + } + + private Map<String, DatabaseType> getDataSourceNameAndTypeMap(final Type type) { + return null == storageContainerConfig.getScenario() ? Collections.emptyMap() : DatabaseEnvironmentManager.getDatabaseTypes(storageContainerConfig.getScenario(), databaseType, type); } private Collection<String> getDataSourceNames(final Map<String, DatabaseType> dataSourceNameAndTypeMap) { diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java index e761b305f07..013f9c5a3e5 100644 --- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java +++ b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java @@ -23,16 +23,18 @@ import org.apache.shardingsphere.database.connector.core.type.DatabaseType; import org.apache.shardingsphere.test.e2e.env.container.atomic.constants.StorageContainerConstants; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.mount.MountSQLResourceGenerator; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.util.SQLScriptUtils; import org.apache.shardingsphere.test.e2e.env.container.atomic.util.StorageContainerUtils; import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment; import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment; +import org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager; +import org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type; import javax.sql.DataSource; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -63,10 +65,10 @@ public final class NativeStorageContainer implements StorageContainer { public NativeStorageContainer(final DatabaseType databaseType, final String scenario) { this.databaseType = databaseType; this.scenario = scenario; - storageContainerConfig = StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, scenario); + storageContainerConfig = new StorageContainerConfiguration(scenario, StorageContainerConfigurationOptionFactory.newInstance(databaseType)); initDatabase(); - actualDataSourceMap = createActualDataSourceMap(); - expectedDataSourceMap = createExpectedDataSourceMap(); + actualDataSourceMap = createDataSourceMap(Type.ACTUAL); + expectedDataSourceMap = createDataSourceMap(Type.EXPECTED); } private void initDatabase() { @@ -76,16 +78,11 @@ public final class NativeStorageContainer implements StorageContainer { new MountSQLResourceGenerator(storageContainerConfig.getConfigurationOption(), databaseType).generate(0, scenario).keySet().forEach(each -> SQLScriptUtils.execute(dataSource, each)); } - private Map<String, DataSource> createActualDataSourceMap() { - Collection<String> databaseNames = - storageContainerConfig.getActualDatabaseTypes().entrySet().stream().filter(entry -> entry.getValue() == databaseType).map(Entry::getKey).collect(Collectors.toList()); - return getDataSourceMap(databaseNames); - } - - private Map<String, DataSource> createExpectedDataSourceMap() { - Collection<String> databaseNames = - storageContainerConfig.getExpectedDatabaseTypes().entrySet().stream().filter(entry -> entry.getValue() == databaseType).map(Entry::getKey).collect(Collectors.toList()); - return getDataSourceMap(databaseNames); + private Map<String, DataSource> createDataSourceMap(final Type type) { + return null == scenario + ? Collections.emptyMap() + : getDataSourceMap(DatabaseEnvironmentManager.getDatabaseTypes(scenario, databaseType, type).entrySet().stream() + .filter(entry -> entry.getValue() == databaseType).map(Entry::getKey).collect(Collectors.toList())); } private Map<String, DataSource> getDataSourceMap(final Collection<String> databaseNames) { diff --git a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java index cf3a23d3299..a34645ff91c 100644 --- a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java +++ b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java @@ -50,10 +50,10 @@ public final class DatabaseEnvironmentManager { * @return database types */ public static Map<String, DatabaseType> getDatabaseTypes(final String scenario, final DatabaseType defaultDatabaseType, final Type type) { - return crateDatabaseTypes(unmarshal(new ScenarioDataPath(scenario).getDatabasesFile(type)).getDatabases(), defaultDatabaseType); + return createDatabaseTypes(unmarshal(new ScenarioDataPath(scenario).getDatabasesFile(type)).getDatabases(), defaultDatabaseType); } - private static Map<String, DatabaseType> crateDatabaseTypes(final Collection<String> datasourceNames, final DatabaseType defaultDatabaseType) { + private static Map<String, DatabaseType> createDatabaseTypes(final Collection<String> datasourceNames, final DatabaseType defaultDatabaseType) { Map<String, DatabaseType> result = new LinkedHashMap<>(datasourceNames.size(), 1F); for (String each : datasourceNames) { List<String> items = Splitter.on(":").splitToList(each); 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 7649f287717..22ebe998dc3 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 @@ -23,7 +23,6 @@ import org.apache.shardingsphere.database.connector.core.type.DatabaseType; import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer; import org.apache.shardingsphere.test.e2e.operation.pipeline.entity.CreateTableSQLGeneratorAssertionEntity; @@ -94,8 +93,7 @@ class CreateTableSQLGeneratorIT { } private void startStorageContainer(final DatabaseType databaseType, final String storageContainerImage) { - StorageContainerConfiguration storageContainerConfig = StorageContainerConfigurationFactory.newInstance( - StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, null); + StorageContainerConfiguration storageContainerConfig = new StorageContainerConfiguration(null, StorageContainerConfigurationOptionFactory.newInstance(databaseType)); storageContainer = (DockerStorageContainer) StorageContainerFactory.newInstance(databaseType, storageContainerImage, storageContainerConfig); storageContainer.start(); } diff --git a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java index 92d282a5497..0835514a6ae 100644 --- a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java +++ b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java @@ -27,7 +27,6 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.impl.ZookeeperContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer; import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment; @@ -63,7 +62,7 @@ public final class DockerContainerComposer extends BaseContainerComposer { } for (int i = 0; i < storageContainerCount; i++) { StorageContainerConfiguration storageContainerConfig; - storageContainerConfig = StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, null); + storageContainerConfig = new StorageContainerConfiguration(null, StorageContainerConfigurationOptionFactory.newInstance(databaseType)); DockerStorageContainer storageContainer = getContainers().registerContainer( (DockerStorageContainer) StorageContainerFactory.newInstance(databaseType, storageContainerImage, storageContainerConfig)); storageContainer.setNetworkAliases(Collections.singletonList(String.join(".", databaseType.getType().toLowerCase() + "_" + i, "host"))); diff --git a/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java b/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java index c54901c4aed..78e9b94467b 100644 --- a/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java +++ b/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java @@ -30,7 +30,7 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.util.AdapterContainerUtils; @@ -59,9 +59,8 @@ public final class ClusterShowProcessListContainerComposer implements AutoClosea containers = new ITContainers(testParam.getScenario()); governanceContainer = isClusterMode(testParam.getRunMode()) ? containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper")) : null; StorageContainerConfigurationOption option = StorageContainerConfigurationOptionFactory.newInstance(testParam.getDatabaseType()); - StorageContainer storageContainer = containers.registerContainer(StorageContainerFactory.newInstance(testParam.getDatabaseType(), "", - StorageContainerConfigurationFactory.newInstance(option, testParam.getDatabaseType(), testParam.getScenario()))); - + StorageContainer storageContainer = containers.registerContainer( + StorageContainerFactory.newInstance(testParam.getDatabaseType(), "", new StorageContainerConfiguration(testParam.getScenario(), option))); AdaptorContainerConfiguration containerConfig = new AdaptorContainerConfiguration(testParam.getScenario(), new LinkedList<>(), getMountedResources(testParam.getScenario(), testParam.getDatabaseType(), testParam.getRunMode(), testParam.getGovernanceCenter()), AdapterContainerUtils.getAdapterContainerImage(), ""); diff --git a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java index b5e62fed64b..0cb737e2c0a 100644 --- a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java +++ b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java @@ -31,11 +31,11 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterMode import org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType; import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.impl.ZookeeperContainer; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer; import org.apache.shardingsphere.test.e2e.operation.transaction.env.TransactionE2EEnvironment; import org.apache.shardingsphere.test.e2e.operation.transaction.env.enums.TransactionE2EEnvTypeEnum; @@ -69,7 +69,7 @@ public final class DockerContainerComposer extends BaseContainerComposer { TransactionE2EEnvTypeEnum envType = TransactionE2EEnvironment.getInstance().getItEnvType(); if (TransactionE2EEnvTypeEnum.DOCKER == envType) { storageContainer = getContainers().registerContainer((DockerStorageContainer) StorageContainerFactory.newInstance(databaseType, testParam.getStorageContainerImage(), - StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, testParam.getScenario()))); + new StorageContainerConfiguration(testParam.getScenario(), StorageContainerConfigurationOptionFactory.newInstance(databaseType)))); } else { storageContainer = getContainers().registerContainer(new NativeStorageContainer(databaseType, testParam.getScenario())); } diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java index a445bfba2d1..f2905a6b073 100644 --- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java +++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java @@ -30,7 +30,7 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern import org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer; import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment; @@ -60,8 +60,7 @@ public final class ClusterContainerComposer implements ContainerComposer { governanceContainer = containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper")); Type envType = E2ETestEnvironment.getInstance().getClusterEnvironment().getType(); storageContainer = containers.registerContainer(Type.DOCKER == envType - ? StorageContainerFactory.newInstance(databaseType, - StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, scenario)) + ? StorageContainerFactory.newInstance(databaseType, new StorageContainerConfiguration(scenario, StorageContainerConfigurationOptionFactory.newInstance(databaseType))) : new NativeStorageContainer(databaseType, scenario)); AdaptorContainerConfiguration containerConfig = SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "cluster", databaseType); AdapterContainer adapterContainer = AdapterContainerFactory.newInstance(adapterMode, adapterType, databaseType, scenario, containerConfig, storageContainer, envType.name()); diff --git a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java index 8626bac8ded..f6b89c5d6db 100644 --- a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java +++ b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java @@ -27,7 +27,7 @@ import org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterMode import org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory; -import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory; +import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory; import org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer; import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment; @@ -53,8 +53,7 @@ public final class StandaloneContainerComposer implements ContainerComposer { containers = new ITContainers(scenario); Type envType = E2ETestEnvironment.getInstance().getClusterEnvironment().getType(); storageContainer = containers.registerContainer(Type.DOCKER == envType - ? StorageContainerFactory.newInstance(databaseType, - StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType), databaseType, scenario)) + ? StorageContainerFactory.newInstance(databaseType, new StorageContainerConfiguration(scenario, StorageContainerConfigurationOptionFactory.newInstance(databaseType))) : new NativeStorageContainer(databaseType, scenario)); AdaptorContainerConfiguration containerConfig = SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "standalone", databaseType); AdapterContainer adapterContainer = AdapterContainerFactory.newInstance(adapterMode, adapterType, databaseType, scenario, containerConfig, storageContainer, envType.name());