This is an automated email from the ASF dual-hosted git repository.
davidzollo pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new f0f50be87d [Test][E2E] Avoid SQLServer CDC driver download in
container (#11233)
f0f50be87d is described below
commit f0f50be87d125c1483b3074bfdb9632e1e0f320c
Author: Daniel <[email protected]>
AuthorDate: Wed Jul 1 17:06:54 2026 +0800
[Test][E2E] Avoid SQLServer CDC driver download in container (#11233)
---
.../connector/cdc/sqlserver/SqlServerCDCIT.java | 34 ++++++++++++++++++----
1 file changed, 28 insertions(+), 6 deletions(-)
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-sqlserver-e2e/src/test/java/org/apache/seatunnel/e2e/connector/cdc/sqlserver/SqlServerCDCIT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-sqlserver-e2e/src/test/java/org/apache/seatunnel/e2e/connector/cdc/sqlserver/SqlServerCDCIT.java
index f45cc8f7e3..2c0a780efb 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-sqlserver-e2e/src/test/java/org/apache/seatunnel/e2e/connector/cdc/sqlserver/SqlServerCDCIT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-sqlserver-e2e/src/test/java/org/apache/seatunnel/e2e/connector/cdc/sqlserver/SqlServerCDCIT.java
@@ -45,7 +45,9 @@ import org.testcontainers.containers.MSSQLServerContainer;
import org.testcontainers.containers.output.Slf4jLogConsumer;
import org.testcontainers.lifecycle.Startables;
import org.testcontainers.utility.DockerLoggerFactory;
+import org.testcontainers.utility.MountableFile;
+import com.microsoft.sqlserver.jdbc.SQLServerDriver;
import io.debezium.jdbc.JdbcConnection;
import io.debezium.relational.TableId;
import lombok.extern.slf4j.Slf4j;
@@ -53,6 +55,7 @@ import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -195,20 +198,39 @@ public class SqlServerCDCIT extends TestSuiteBase
implements TestResource {
new Slf4jLogConsumer(
DockerLoggerFactory.getLogger("sqlserver-docker-image")));
- private String driverUrl() {
- return
"https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/9.4.1.jre8/mssql-jdbc-9.4.1.jre8.jar";
+ /**
+ * Resolve the SQLServer JDBC test dependency from the active test
classpath instead of
+ * hard-coding a Maven local repository path.
+ */
+ private Path driverJarPath() {
+ try {
+ return Paths.get(
+ SQLServerDriver.class
+ .getProtectionDomain()
+ .getCodeSource()
+ .getLocation()
+ .toURI());
+ } catch (Exception e) {
+ throw new SeaTunnelException(
+ "Failed to resolve SQLServer JDBC driver jar from the test
classpath", e);
+ }
}
@TestContainerExtension
protected final ContainerExtendedFactory extendedFactory =
container -> {
+ Path driverJarPath = driverJarPath();
+ Assertions.assertTrue(
+ Files.isRegularFile(driverJarPath),
+ "SQLServer JDBC driver should be resolved from the
test classpath before E2E runs: "
+ + driverJarPath);
Container.ExecResult extraCommands =
container.execInContainer(
- "bash",
- "-c",
- "mkdir -p
/tmp/seatunnel/plugins/SqlServer-CDC/lib && cd
/tmp/seatunnel/plugins/SqlServer-CDC/lib && wget "
- + driverUrl());
+ "bash", "-c", "mkdir -p
/tmp/seatunnel/plugins/SqlServer-CDC/lib");
Assertions.assertEquals(0, extraCommands.getExitCode(),
extraCommands.getStderr());
+ container.copyFileToContainer(
+ MountableFile.forHostPath(driverJarPath),
+
"/tmp/seatunnel/plugins/SqlServer-CDC/lib/mssql-jdbc-9.4.1.jre8.jar");
};
@Override