This is an automated email from the ASF dual-hosted git repository.

github-merge-queue[bot] pushed a commit to branch 
gh-readonly-queue/dev/pr-13029-56b063c1d81cc3ab17ff76aabd849f69d3909a6d
in repository https://gitbox.apache.org/repos/asf/seatunnel.git

commit 128994ca0c6b6262b14037f5f90a390d513a4720
Author: Daniel <[email protected]>
AuthorDate: Wed Oct 28 13:17:42 2026 +0000

    [Fix][E2E] Wait for LocalStack starter script copy before execution (#13029)
---
 .../e2e/connector/amazonsqs/AmazonsqsIT.java          | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-amazonsqs-e2e/src/test/java/org/apache/seatunnel/e2e/connector/amazonsqs/AmazonsqsIT.java
 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-amazonsqs-e2e/src/test/java/org/apache/seatunnel/e2e/connector/amazonsqs/AmazonsqsIT.java
index 2c904df46d..f35d318e4f 100644
--- 
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-amazonsqs-e2e/src/test/java/org/apache/seatunnel/e2e/connector/amazonsqs/AmazonsqsIT.java
+++ 
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-amazonsqs-e2e/src/test/java/org/apache/seatunnel/e2e/connector/amazonsqs/AmazonsqsIT.java
@@ -28,9 +28,11 @@ import org.junit.jupiter.api.TestTemplate;
 import org.testcontainers.containers.Container;
 import org.testcontainers.containers.localstack.LocalStackContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
+import org.testcontainers.images.builder.Transferable;
 import org.testcontainers.lifecycle.Startables;
 import org.testcontainers.utility.DockerLoggerFactory;
 
+import com.github.dockerjava.api.command.InspectContainerResponse;
 import lombok.extern.slf4j.Slf4j;
 import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
 import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
@@ -56,6 +58,7 @@ public class AmazonsqsIT extends TestSuiteBase implements 
TestResource {
     private static final int AMAZONSQS_CONTAINER_PORT = 4566;
     private static final String SINK_QUEUE = "sink_queue";
     private static final String SOURCE_QUEUE = "source_queue";
+    private static final String LOCALSTACK_STARTER_READY = 
"/testcontainers_start.ready";
 
     private static final String TEST_MESSAGE = "{\"name\":\"test_name\"}";
 
@@ -68,7 +71,21 @@ public class AmazonsqsIT extends TestSuiteBase implements 
TestResource {
     public void startUp() throws Exception {
         // start a localstack docker container
         localstack =
-                new LocalStackContainer(LOCALSTACK_DOCKER_IMAGE_VERSION)
+                new LocalStackContainer(LOCALSTACK_DOCKER_IMAGE_VERSION) {
+                    @Override
+                    protected void 
containerIsStarting(InspectContainerResponse containerInfo) {
+                        super.containerIsStarting(containerInfo);
+                        // Script existence alone does not mean Docker has 
finished copying it.
+                        copyFileToContainer(Transferable.of(new byte[0]), 
LOCALSTACK_STARTER_READY);
+                    }
+                }.withCreateContainerCmdModifier(
+                                cmd ->
+                                        cmd.withEntrypoint(
+                                                "sh",
+                                                "-c",
+                                                "while [ ! -f "
+                                                        + 
LOCALSTACK_STARTER_READY
+                                                        + " ]; do sleep 0.1; 
done; exec /testcontainers_start.sh"))
                         .withServices(LocalStackContainer.Service.SQS)
                         .withEnv("AWS_DEFAULT_REGION", "us-east-1")
                         .withEnv("AWS_ACCESS_KEY_ID", "1234")

Reply via email to