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

Reply via email to