You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2023/03/12 14:06:42 UTC
[shardingsphere] branch master updated: Upgrade junit 5 on ShowProcessListE2EIT (#24565)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 05b33ef9885 Upgrade junit 5 on ShowProcessListE2EIT (#24565)
05b33ef9885 is described below
commit 05b33ef98856532dd4c3d977ae8dff9f1f0f498b
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Mar 12 22:06:34 2023 +0800
Upgrade junit 5 on ShowProcessListE2EIT (#24565)
---
.../ClusterShowProcessListContainerComposer.java | 8 +-
.../engine/ShowProcessListE2EIT.java | 88 ++++++++++------------
2 files changed, 44 insertions(+), 52 deletions(-)
diff --git a/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java b/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
index 528a14bf68b..1b4ec65ebaa 100644
--- a/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
+++ b/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
@@ -41,7 +41,7 @@ import java.util.Map;
/**
* Cluster show process list composed container.
*/
-public final class ClusterShowProcessListContainerComposer {
+public final class ClusterShowProcessListContainerComposer implements AutoCloseable {
private final ITContainers containers;
@@ -108,10 +108,8 @@ public final class ClusterShowProcessListContainerComposer {
containers.start();
}
- /**
- * Stop.
- */
- public void stop() {
+ @Override
+ public void close() {
containers.stop();
}
}
diff --git a/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/engine/ShowProcessListE2EIT.java b/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/engine/ShowProcessListE2EIT.java
index 2e2def47f9f..5fb8f2a79f1 100644
--- a/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/engine/ShowProcessListE2EIT.java
+++ b/test/e2e/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/showprocesslist/engine/ShowProcessListE2EIT.java
@@ -19,15 +19,15 @@ package org.apache.shardingsphere.test.e2e.showprocesslist.engine;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.test.e2e.showprocesslist.container.composer.ClusterShowProcessListContainerComposer;
+import org.apache.shardingsphere.test.e2e.showprocesslist.env.ShowProcessListEnvironment;
import org.apache.shardingsphere.test.e2e.showprocesslist.env.enums.ShowProcessListEnvTypeEnum;
import org.apache.shardingsphere.test.e2e.showprocesslist.parameter.ShowProcessListTestParameter;
-import org.apache.shardingsphere.test.e2e.showprocesslist.env.ShowProcessListEnvironment;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.condition.EnabledIf;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.ArgumentsProvider;
+import org.junit.jupiter.params.provider.ArgumentsSource;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -37,61 +37,37 @@ import java.sql.Statement;
import java.util.Collection;
import java.util.LinkedList;
import java.util.concurrent.CompletableFuture;
+import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
// TODO add jdbc
-@RunWith(Parameterized.class)
public final class ShowProcessListE2EIT {
private static final ShowProcessListEnvironment ENV = ShowProcessListEnvironment.getInstance();
private static final String SELECT_SLEEP = "select sleep(10)";
- private final ClusterShowProcessListContainerComposer containerComposer;
-
- public ShowProcessListE2EIT(final ShowProcessListTestParameter testParam) {
- containerComposer = new ClusterShowProcessListContainerComposer(testParam);
- }
-
- @Parameters(name = "{0}")
- public static Collection<ShowProcessListTestParameter> getTestParameters() {
- Collection<ShowProcessListTestParameter> result = new LinkedList<>();
- ENV.getScenarios().forEach(each -> {
- if (ShowProcessListEnvTypeEnum.DOCKER == ENV.getItEnvType()) {
- for (String runMode : ENV.getRunModes()) {
- result.add(new ShowProcessListTestParameter(new MySQLDatabaseType(), each, runMode));
- }
+ @ParameterizedTest(name = "{0}")
+ @EnabledIf("isEnabled")
+ @ArgumentsSource(TestCaseArgumentsProvider.class)
+ public void assertShowProcessList(final ShowProcessListTestParameter testParam) throws SQLException, InterruptedException {
+ try (ClusterShowProcessListContainerComposer containerComposer = new ClusterShowProcessListContainerComposer(testParam)) {
+ containerComposer.start();
+ CompletableFuture<Void> executeSelectSleep = CompletableFuture.runAsync(getExecuteSleepThread("proxy", containerComposer));
+ Thread.sleep(5000L);
+ try (
+ Connection connection = containerComposer.getProxyDataSource().getConnection();
+ Statement statement = connection.createStatement()) {
+ ResultSet resultSet = statement.executeQuery("show processlist");
+ assertResultSet(resultSet);
}
- });
- return result;
- }
-
- @Before
- public void setUp() {
- containerComposer.start();
- }
-
- @After
- public void closeContainers() {
- containerComposer.stop();
- }
-
- @Test
- public void assertShowProcessList() throws SQLException, InterruptedException {
- CompletableFuture<Void> executeSelectSleep = CompletableFuture.runAsync(getExecuteSleepThread("proxy"));
- Thread.sleep(5000);
- try (
- Connection connection = containerComposer.getProxyDataSource().getConnection();
- Statement statement = connection.createStatement()) {
- ResultSet resultSet = statement.executeQuery("show processlist");
- assertResultSet(resultSet);
+ executeSelectSleep.join();
}
- executeSelectSleep.join();
}
- private Runnable getExecuteSleepThread(final String targetContainer) {
+ private Runnable getExecuteSleepThread(final String targetContainer, final ClusterShowProcessListContainerComposer containerComposer) {
return () -> {
try (
Connection connection = "proxy".equals(targetContainer) ? containerComposer.getProxyDataSource().getConnection() : containerComposer.getJdbcDataSource().getConnection();
@@ -131,4 +107,22 @@ public final class ShowProcessListE2EIT {
}
assertThat(count, is(1));
}
+
+ private static boolean isEnabled() {
+ return ShowProcessListEnvTypeEnum.DOCKER == ENV.getItEnvType();
+ }
+
+ private static class TestCaseArgumentsProvider implements ArgumentsProvider {
+
+ @Override
+ public Stream<? extends Arguments> provideArguments(final ExtensionContext extensionContext) {
+ Collection<Arguments> result = new LinkedList<>();
+ for (String each : ENV.getScenarios()) {
+ for (String runMode : ENV.getRunModes()) {
+ result.add(Arguments.of(new ShowProcessListTestParameter(new MySQLDatabaseType(), each, runMode)));
+ }
+ }
+ return result.stream();
+ }
+ }
}