Browse Source

[Improvement-12333][Test] Migrate all UT cases from jUnit 4 to jUnit 5 in microbench and e2e module (#12348)

3.2.0-release
rickchengx 2 years ago committed by GitHub
parent
commit
a17923a62b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/common/CodeEditor.java
  2. 31
      dolphinscheduler-e2e/dolphinscheduler-e2e-core/src/main/java/org/apache/dolphinscheduler/e2e/core/DolphinSchedulerExtension.java
  3. 4
      dolphinscheduler-e2e/dolphinscheduler-e2e-core/src/main/java/org/apache/dolphinscheduler/e2e/core/TestDescription.java
  4. 5
      dolphinscheduler-microbench/pom.xml
  5. 2
      dolphinscheduler-microbench/src/main/java/org/apache/dolphinscheduler/microbench/base/AbstractBaseBenchmark.java

1
dolphinscheduler-e2e/dolphinscheduler-e2e-case/src/test/java/org/apache/dolphinscheduler/e2e/pages/common/CodeEditor.java

@ -19,7 +19,6 @@
*/ */
package org.apache.dolphinscheduler.e2e.pages.common; package org.apache.dolphinscheduler.e2e.pages.common;
import org.junit.rules.ExpectedException;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;

31
dolphinscheduler-e2e/dolphinscheduler-e2e-core/src/main/java/org/apache/dolphinscheduler/e2e/core/DolphinSchedulerExtension.java

@ -42,16 +42,12 @@ import org.junit.jupiter.api.extension.AfterAllCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.BeforeEachCallback; import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.remote.RemoteWebDriver;
import org.testcontainers.Testcontainers; import org.testcontainers.Testcontainers;
import org.testcontainers.containers.BrowserWebDriverContainer; import org.testcontainers.containers.BrowserWebDriverContainer;
import org.testcontainers.containers.ContainerState;
import org.testcontainers.containers.DockerComposeContainer; import org.testcontainers.containers.DockerComposeContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.shaded.org.awaitility.Awaitility; import org.testcontainers.shaded.org.awaitility.Awaitility;
@ -72,7 +68,6 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
private RemoteWebDriver driver; private RemoteWebDriver driver;
private DockerComposeContainer<?> compose; private DockerComposeContainer<?> compose;
private BrowserWebDriverContainer<?> browser; private BrowserWebDriverContainer<?> browser;
private Network network;
private HostAndPort address; private HostAndPort address;
private String rootPath; private String rootPath;
@ -94,8 +89,9 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
setBrowserContainerByOsName(); setBrowserContainerByOsName();
if (network != null) { if (compose != null) {
browser.withNetwork(network); Testcontainers.exposeHostPorts(compose.getServicePort("dolphinscheduler_1", 12345));
browser.withAccessToHost(true);
} }
browser.start(); browser.start();
@ -128,25 +124,7 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
compose = createDockerCompose(context); compose = createDockerCompose(context);
compose.start(); compose.start();
final ContainerState dsContainer = compose.getContainerByServiceName("dolphinscheduler_1") address = HostAndPort.fromParts("host.testcontainers.internal", compose.getServicePort("dolphinscheduler_1", 12345));
.orElseThrow(() -> new RuntimeException("Failed to find a container named 'dolphinscheduler'"));
final String networkId = dsContainer.getContainerInfo().getNetworkSettings().getNetworks().keySet().iterator().next();
network = new Network() {
@Override
public String getId() {
return networkId;
}
@Override
public void close() {
}
@Override
public Statement apply(Statement base, Description description) {
return null;
}
};
address = HostAndPort.fromParts("dolphinscheduler", 12345);
rootPath = "/dolphinscheduler/ui/"; rootPath = "/dolphinscheduler/ui/";
} }
@ -223,6 +201,7 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
compose = new DockerComposeContainer<>(files) compose = new DockerComposeContainer<>(files)
.withPull(true) .withPull(true)
.withTailChildContainers(true) .withTailChildContainers(true)
.withExposedService("dolphinscheduler_1", 12345)
.withLogConsumer("dolphinscheduler_1", outputFrame -> LOGGER.info(outputFrame.getUtf8String())) .withLogConsumer("dolphinscheduler_1", outputFrame -> LOGGER.info(outputFrame.getUtf8String()))
.waitingFor("dolphinscheduler_1", Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(180))); .waitingFor("dolphinscheduler_1", Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(180)));

4
dolphinscheduler-e2e/dolphinscheduler-e2e-core/src/main/java/org/apache/dolphinscheduler/e2e/core/TestDescription.java

@ -21,8 +21,6 @@ package org.apache.dolphinscheduler.e2e.core;
import static java.nio.charset.StandardCharsets.UTF_8; import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.platform.commons.util.StringUtils.isBlank;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
@ -45,7 +43,7 @@ final class TestDescription implements org.testcontainers.lifecycle.TestDescript
public String getFilesystemFriendlyName() { public String getFilesystemFriendlyName() {
final String contextId = context.getUniqueId(); final String contextId = context.getUniqueId();
try { try {
return (isBlank(contextId)) return (contextId == null || contextId.trim().isEmpty())
? UNKNOWN_NAME ? UNKNOWN_NAME
: URLEncoder.encode(contextId, UTF_8.toString()); : URLEncoder.encode(contextId, UTF_8.toString());
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {

5
dolphinscheduler-microbench/pom.xml

@ -62,9 +62,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>org.junit.jupiter</groupId>
<artifactId>junit</artifactId> <artifactId>junit-jupiter-api</artifactId>
<scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>

2
dolphinscheduler-microbench/src/main/java/org/apache/dolphinscheduler/microbench/base/AbstractBaseBenchmark.java

@ -20,7 +20,7 @@ package org.apache.dolphinscheduler.microbench.base;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.openjdk.jmh.annotations.Fork; import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Scope; import org.openjdk.jmh.annotations.Scope;

Loading…
Cancel
Save