This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.20 by this push:
new eb73e1e19a0 [FLINK-38809][Tests] Upgrade Testcontainers to 2.0.5
eb73e1e19a0 is described below
commit eb73e1e19a05e937f2b6b7118fe8a26ee47323f5
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Sun Jun 7 12:00:46 2026 +0200
[FLINK-38809][Tests] Upgrade Testcontainers to 2.0.5
---
flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml | 7 +++++++
.../src/test/java/org/apache/flink/tests/hive/HiveITCase.java | 10 +++++++++-
.../org/apache/flink/tests/hive/containers/HiveContainers.java | 5 ++---
flink-end-to-end-tests/flink-sql-client-test/pom.xml | 2 +-
.../flink-sql-client-test/src/test/java/SqlClientITCase.java | 10 +++++-----
.../java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java | 6 +++++-
.../apache/flink/table/gateway/containers/HiveContainer.java | 5 ++---
.../test-scripts/test_confluent_schema_registry.sh | 4 ++--
flink-end-to-end-tests/test-scripts/test_pyflink.sh | 4 ++--
.../main/java/org/apache/flink/util/DockerImageVersions.java | 4 ++--
pom.xml | 4 ++--
11 files changed, 39 insertions(+), 22 deletions(-)
diff --git a/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
b/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
index 35f7e14799c..0c9e44b3d24 100644
--- a/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
+++ b/flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml
@@ -69,6 +69,13 @@ under the License.
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
</dependency>
+ <dependency>
+ <!-- Testcontainers 2.x no longer pulls in JUnit 4
transitively,
+ but this module's main sources still use it
(TemporaryFolder, Assume). -->
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
<dependency>
<!-- To ensure that flink-dist is built beforehand -->
<groupId>org.apache.flink</groupId>
diff --git
a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
index 24a759887c5..4248426c1c7 100644
---
a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
+++
b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/HiveITCase.java
@@ -33,6 +33,7 @@ import org.apache.flink.util.TestLogger;
import org.apache.flink.util.UserClassLoaderJarTestUtils;
import org.apache.hadoop.hive.conf.HiveConf;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
@@ -68,7 +69,8 @@ public class HiveITCase extends TestLogger {
@ClassRule public static final TemporaryFolder TMP_FOLDER = new
TemporaryFolder();
- @ClassRule
+ // Testcontainers 2.x containers are no longer JUnit 4 TestRules, so the
lifecycle is driven
+ // manually from @BeforeClass/@AfterClass instead of via @ClassRule.
public static final HiveContainers.HiveContainer HIVE_CONTAINER =
HiveContainers.createHiveContainer(
Arrays.asList("hive_sink1", "hive_sink2", "h_table_sink1",
"h_table_sink2"));
@@ -93,10 +95,16 @@ public class HiveITCase extends TestLogger {
@BeforeClass
public static void beforeClass() throws Exception {
+ HIVE_CONTAINER.start();
initUDFJar();
initHiveConfFile();
}
+ @AfterClass
+ public static void afterClass() {
+ HIVE_CONTAINER.stop();
+ }
+
private static void initUDFJar() throws Exception {
Path tmpPath = TMP_FOLDER.getRoot().toPath();
LOG.info("The current temporary path: {}", tmpPath);
diff --git
a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
index 74d3692216c..d32238b7502 100644
---
a/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
+++
b/flink-end-to-end-tests/flink-end-to-end-tests-hive/src/test/java/org/apache/flink/tests/hive/containers/HiveContainers.java
@@ -27,7 +27,6 @@ import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.junit.runner.Description;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
@@ -86,9 +85,9 @@ public class HiveContainers {
}
@Override
- protected void finished(Description description) {
+ protected void containerIsStopping(InspectContainerResponse
containerInfo) {
backupLogs();
- super.finished(description);
+ super.containerIsStopping(containerInfo);
}
@Override
diff --git a/flink-end-to-end-tests/flink-sql-client-test/pom.xml
b/flink-end-to-end-tests/flink-sql-client-test/pom.xml
index 3a695005259..658400eed97 100644
--- a/flink-end-to-end-tests/flink-sql-client-test/pom.xml
+++ b/flink-end-to-end-tests/flink-sql-client-test/pom.xml
@@ -73,7 +73,7 @@ under the License.
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
- <artifactId>kafka</artifactId>
+ <artifactId>testcontainers-kafka</artifactId>
<scope>test</scope>
</dependency>
diff --git
a/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
b/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
index 7f49a6ea967..3216ef6024a 100644
---
a/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
+++
b/flink-end-to-end-tests/flink-sql-client-test/src/test/java/SqlClientITCase.java
@@ -41,11 +41,11 @@ import org.junit.jupiter.api.io.TempDir;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
+import org.testcontainers.kafka.ConfluentKafkaContainer;
import org.testcontainers.utility.DockerImageName;
import java.io.File;
@@ -78,10 +78,10 @@ public class SqlClientITCase {
public static final Network NETWORK = Network.newNetwork();
@Container
- public static final KafkaContainer KAFKA =
- new
KafkaContainer(DockerImageName.parse(DockerImageVersions.KAFKA))
+ public static final ConfluentKafkaContainer KAFKA =
+ new
ConfluentKafkaContainer(DockerImageName.parse(DockerImageVersions.KAFKA))
.withNetwork(NETWORK)
- .withNetworkAliases(INTER_CONTAINER_KAFKA_ALIAS)
+ .withListener(INTER_CONTAINER_KAFKA_ALIAS + ":19092")
.withLogConsumer(LOG_CONSUMER);
public final FlinkContainers flink =
@@ -219,7 +219,7 @@ public class SqlClientITCase {
" 'topic' = 'test-json',",
" 'properties.bootstrap.servers' = '"
+ INTER_CONTAINER_KAFKA_ALIAS
- + ":9092',",
+ + ":19092',",
" 'scan.startup.mode' = 'earliest-offset',",
" 'format' = 'json',",
" 'json.timestamp-format.standard' = 'ISO-8601'",
diff --git
a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
index 0d7387b5803..854bd5b59b8 100644
---
a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
+++
b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/SqlGatewayE2ECase.java
@@ -93,7 +93,9 @@ public class SqlGatewayE2ECase extends TestLogger {
private static final String RESULT_KEY = "$RESULT";
@ClassRule public static final TemporaryFolder FOLDER = new
TemporaryFolder();
- @ClassRule public static final HiveContainer HIVE_CONTAINER = new
HiveContainer();
+
+ public static final HiveContainer HIVE_CONTAINER = new HiveContainer();
+
@Rule public final FlinkResource flinkResource = buildFlinkResource();
private static NetUtils.Port hiveserver2Port;
@@ -107,6 +109,7 @@ public class SqlGatewayE2ECase extends TestLogger {
@BeforeClass
public static void beforeClass() {
+ HIVE_CONTAINER.start();
ENDPOINT_CONFIG.setString(
getPrefixedConfigOptionName(CATALOG_HIVE_CONF_DIR),
createHiveConf().getParent());
}
@@ -115,6 +118,7 @@ public class SqlGatewayE2ECase extends TestLogger {
public static void afterClass() throws Exception {
hiveserver2Port.close();
restPort.close();
+ HIVE_CONTAINER.stop();
}
@Test
diff --git
a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
index 6fa9064fcfd..caa384c63fc 100644
---
a/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
+++
b/flink-end-to-end-tests/flink-sql-gateway-test/src/test/java/org/apache/flink/table/gateway/containers/HiveContainer.java
@@ -25,7 +25,6 @@ import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.junit.runner.Description;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.GenericContainer;
@@ -96,9 +95,9 @@ public class HiveContainer extends
GenericContainer<HiveContainer> {
}
@Override
- protected void finished(Description description) {
+ protected void containerIsStopping(InspectContainerResponse containerInfo)
{
backupLogs();
- super.finished(description);
+ super.containerIsStopping(containerInfo);
}
public String getHiveMetastoreURI() {
diff --git
a/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
b/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
index 324e3a34c55..d653ef46bc5 100755
--- a/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
+++ b/flink-end-to-end-tests/test-scripts/test_confluent_schema_registry.sh
@@ -20,8 +20,8 @@
set -Eeuo pipefail
KAFKA_VERSION="3.2.3"
-CONFLUENT_VERSION="7.2.9"
-CONFLUENT_MAJOR_VERSION="7.2"
+CONFLUENT_VERSION="7.5.3"
+CONFLUENT_MAJOR_VERSION="7.5"
# Check the Confluent Platform <> Apache Kafka compatibility matrix when
updating KAFKA_VERSION
KAFKA_SQL_VERSION="universal"
diff --git a/flink-end-to-end-tests/test-scripts/test_pyflink.sh
b/flink-end-to-end-tests/test-scripts/test_pyflink.sh
index 2b53e3393bb..34654d3d3a2 100755
--- a/flink-end-to-end-tests/test-scripts/test_pyflink.sh
+++ b/flink-end-to-end-tests/test-scripts/test_pyflink.sh
@@ -20,8 +20,8 @@
set -Eeuo pipefail
KAFKA_VERSION="3.2.3"
-CONFLUENT_VERSION="7.2.9"
-CONFLUENT_MAJOR_VERSION="7.2"
+CONFLUENT_VERSION="7.5.3"
+CONFLUENT_MAJOR_VERSION="7.5"
# Check the Confluent Platform <> Apache Kafka compatibility matrix when
updating KAFKA_VERSION
KAFKA_SQL_VERSION="universal"
SQL_JARS_DIR=${END_TO_END_DIR}/flink-sql-client-test/target/sql-jars
diff --git
a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
index c48ad4d8525..f781262669c 100644
---
a/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
+++
b/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/util/DockerImageVersions.java
@@ -28,9 +28,9 @@ package org.apache.flink.util;
*/
public class DockerImageVersions {
- public static final String KAFKA = "confluentinc/cp-kafka:7.2.9";
+ public static final String KAFKA = "confluentinc/cp-kafka:7.5.3";
- public static final String SCHEMA_REGISTRY =
"confluentinc/cp-schema-registry:7.2.9";
+ public static final String SCHEMA_REGISTRY =
"confluentinc/cp-schema-registry:7.5.3";
public static final String KINESALITE = "instructure/kinesalite:latest";
diff --git a/pom.xml b/pom.xml
index 60b5f6ed51c..b2cfd2fe2fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -162,7 +162,7 @@ under the License.
<beam.version>2.43.0</beam.version>
<protoc.version>3.21.7</protoc.version>
<okhttp.version>3.14.9</okhttp.version>
- <testcontainers.version>1.21.4</testcontainers.version>
+ <testcontainers.version>2.0.5</testcontainers.version>
<lz4.version>1.10.3</lz4.version>
<commons.io.version>2.15.1</commons.io.version>
<japicmp.skip>false</japicmp.skip>
@@ -286,7 +286,7 @@ under the License.
<dependency>
<groupId>org.testcontainers</groupId>
- <artifactId>junit-jupiter</artifactId>
+ <artifactId>testcontainers-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>