Skip to content

Commit ae0590e

Browse files
committed
docker
1 parent dbfca0d commit ae0590e

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

spring-boot-example/src/test/java/de/rieckpil/blog/localstack/ImageUploadEventListenerIT.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,18 @@
1414
import org.testcontainers.junit.jupiter.Container;
1515
import org.testcontainers.junit.jupiter.Testcontainers;
1616
import org.testcontainers.utility.DockerImageName;
17+
import org.testcontainers.utility.MountableFile;
1718
import software.amazon.awssdk.core.sync.RequestBody;
1819
import software.amazon.awssdk.services.s3.S3Client;
1920
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
21+
import software.amazon.awssdk.services.s3.model.NoSuchKeyException;
2022
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
23+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
2124
import software.amazon.awssdk.services.sqs.SqsClient;
2225
import software.amazon.awssdk.services.sqs.model.SendMessageRequest;
2326

2427
import static org.awaitility.Awaitility.given;
2528
import static org.junit.jupiter.api.Assertions.assertNotNull;
26-
import static org.testcontainers.containers.BindMode.READ_ONLY;
2729
import static org.testcontainers.containers.localstack.LocalStackContainer.Service;
2830
import static org.testcontainers.containers.localstack.LocalStackContainer.Service.SQS;
2931

@@ -35,21 +37,22 @@ class ImageUploadEventListenerIT {
3537
static LocalStackContainer localStack =
3638
new LocalStackContainer(DockerImageName.parse("localstack/localstack:4.0.1"))
3739
.withServices(Service.S3, Service.SQS)
38-
.withClasspathResourceMapping("/localstack", "/docker-entrypoint-initaws.d", READ_ONLY)
40+
.withCopyFileToContainer(MountableFile.forClasspathResource("localstack/", 0777), "/etc/localstack/init/ready.d")
3941
.waitingFor(Wait.forLogMessage(".*Initialized\\.\n", 1));
4042

4143
@DynamicPropertySource
4244
static void configureLocalStackAccess(DynamicPropertyRegistry registry) {
4345
registry.add("spring.cloud.aws.credentials.secret-key", () -> "foo");
4446
registry.add("spring.cloud.aws.credentials.access-key", () -> "bar");
47+
registry.add("spring.cloud.aws.sqs.enabled", () -> "true");
4548
registry.add("spring.cloud.aws.endpoint", () -> localStack.getEndpointOverride(SQS));
4649
}
4750

4851
@Autowired
4952
private S3Client s3Client;
5053

5154
@Autowired
52-
private SqsClient sqsClient;
55+
private SqsAsyncClient sqsClient;
5356

5457
@Test
5558
void shouldProcessIncomingUploadEventAndUploadThumbnailImage() throws IOException {
@@ -71,6 +74,7 @@ void shouldProcessIncomingUploadEventAndUploadThumbnailImage() throws IOExceptio
7174
given()
7275
.atMost(Duration.ofSeconds(5))
7376
.await()
77+
.ignoreException(NoSuchKeyException.class)
7478
.untilAsserted(() -> assertNotNull(s3Client.getObject(GetObjectRequest.builder().bucket("processed-images").key("thumbnail-duke-mascot.png").build())));
7579
}
7680
}

spring-boot-example/src/test/java/de/rieckpil/blog/localstack/ManualBeanOverrideIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.testcontainers.junit.jupiter.Container;
1515
import org.testcontainers.junit.jupiter.Testcontainers;
1616
import org.testcontainers.utility.DockerImageName;
17+
import org.testcontainers.utility.MountableFile;
1718
import software.amazon.awssdk.core.sync.RequestBody;
1819
import software.amazon.awssdk.services.s3.S3Client;
1920
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
@@ -23,7 +24,6 @@
2324

2425
import static org.awaitility.Awaitility.given;
2526
import static org.junit.jupiter.api.Assertions.assertNotNull;
26-
import static org.testcontainers.containers.BindMode.READ_ONLY;
2727

2828
@Testcontainers
2929
@SpringBootTest(properties = "cloud.aws.sqs.enabled=true")
@@ -33,7 +33,7 @@ class ManualBeanOverrideIT {
3333
static LocalStackContainer localStack =
3434
new LocalStackContainer(DockerImageName.parse("localstack/localstack:4.0.1"))
3535
.withServices(LocalStackContainer.Service.S3, LocalStackContainer.Service.SQS)
36-
.withClasspathResourceMapping("/localstack", "/docker-entrypoint-initaws.d", READ_ONLY)
36+
.withCopyFileToContainer(MountableFile.forClasspathResource("localstack/", 0777), "/etc/localstack/init/ready.d")
3737
.waitingFor(Wait.forLogMessage(".*Initialized\\.\n", 1));
3838

3939
@Autowired

0 commit comments

Comments
 (0)