Skip to content

Commit

Permalink
Use random port in registry IT (#16014)
Browse files Browse the repository at this point in the history
  • Loading branch information
ruanwenjun committed May 17, 2024
1 parent 79f90a8 commit 4e73fc2
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.apache.dolphinscheduler.plugin.registry.jdbc;

import org.apache.commons.lang3.RandomUtils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
Expand Down Expand Up @@ -52,12 +54,15 @@ public static void setUpTestingServer() {
.withExposedPorts(3306)
.waitingFor(Wait.forHealthcheck());

mysqlContainer.setPortBindings(Lists.newArrayList("3306:3306"));
int exposedPort = RandomUtils.nextInt(10000, 65535);
mysqlContainer.setPortBindings(Lists.newArrayList(exposedPort + ":3306"));
Startables.deepStart(Stream.of(mysqlContainer)).join();

String jdbcUrl = "jdbc:mysql://localhost:" + exposedPort + "/dolphinscheduler?useSSL=false&serverTimezone=UTC";
System.setProperty("spring.datasource.url", jdbcUrl);

try (
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/dolphinscheduler?useSSL=false&serverTimezone=UTC", "root", "root");
Connection connection = DriverManager.getConnection(jdbcUrl, "root", "root");
Statement statement = connection.createStatement();) {
statement.execute(
"CREATE TABLE `t_ds_jdbc_registry_data`\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.apache.dolphinscheduler.plugin.registry.jdbc;

import org.apache.commons.lang3.RandomUtils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
Expand Down Expand Up @@ -53,12 +55,15 @@ public static void setUpTestingServer() {
.withDatabaseName("dolphinscheduler")
.withNetwork(Network.newNetwork())
.withExposedPorts(5432);
postgresqlContainer.setPortBindings(Lists.newArrayList("5432:5432"));
int exposedPort = RandomUtils.nextInt(10000, 65535);

postgresqlContainer.setPortBindings(Lists.newArrayList(exposedPort + ":5432"));
Startables.deepStart(Stream.of(postgresqlContainer)).join();

String jdbcUrl = "jdbc:postgresql://localhost:" + exposedPort + "/dolphinscheduler";
System.setProperty("spring.datasource.url", jdbcUrl);
try (
Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/dolphinscheduler",
"root", "root");
Connection connection = DriverManager.getConnection(jdbcUrl, "root", "root");
Statement statement = connection.createStatement();) {
statement.execute(
"create table t_ds_jdbc_registry_data\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

import org.apache.dolphinscheduler.plugin.registry.RegistryTestCase;

import org.apache.commons.lang3.RandomUtils;

import java.util.stream.Stream;

import lombok.SneakyThrows;
Expand Down Expand Up @@ -51,10 +53,10 @@ class ZookeeperRegistryTestCase extends RegistryTestCase<ZookeeperRegistry> {
public static void setUpTestingServer() {
zookeeperContainer = new GenericContainer<>(DockerImageName.parse("zookeeper:3.8"))
.withNetwork(NETWORK);

zookeeperContainer.setPortBindings(Lists.newArrayList("2181:2181"));
int randomPort = RandomUtils.nextInt(10000, 65535);
zookeeperContainer.setPortBindings(Lists.newArrayList(randomPort + ":2181"));
Startables.deepStart(Stream.of(zookeeperContainer)).join();
System.setProperty("registry.zookeeper.connect-string", "localhost:2181");
System.setProperty("registry.zookeeper.connect-string", "localhost:" + randomPort);
}

@SneakyThrows
Expand Down

0 comments on commit 4e73fc2

Please sign in to comment.