Skip to content

Commit fe688ce

Browse files
committed
GH-907 - Upgrade to Spring Boot 3.4 snapshots.
Tweak test containers setup for dynamic properties to adapt to Boot 3.4's new behavior [0]. [0] https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.4.0-RC1-Release-Notes#dynamic-properties-with-testcontainers
1 parent cdd86a4 commit fe688ce

File tree

4 files changed

+26
-20
lines changed

4 files changed

+26
-20
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
<jmolecules-bom.version>2023.1.7</jmolecules-bom.version>
4444
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
4545
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
46-
<spring-boot.version>3.4.0-M3</spring-boot.version>
46+
<spring-boot.version>3.4.0-SNAPSHOT</spring-boot.version>
4747
<spring-framework.version>6.2.0-RC3</spring-framework.version> <!-- For Javadoc links only -->
4848
<spring-cloud-aws-bom.version>3.1.1</spring-cloud-aws-bom.version>
4949
<testcontainers.version>1.17.6</testcontainers.version>

spring-modulith-events/spring-modulith-events-aws-sns/src/test/java/org/springframework/modulith/events/aws/sns/SnsEventPublicationIntegrationTests.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@
2828

2929
import org.junit.jupiter.api.Test;
3030
import org.springframework.beans.factory.annotation.Autowired;
31-
import org.springframework.beans.factory.annotation.Qualifier;
3231
import org.springframework.boot.autoconfigure.SpringBootApplication;
3332
import org.springframework.boot.test.context.SpringBootTest;
3433
import org.springframework.context.ApplicationEventPublisher;
3534
import org.springframework.context.annotation.Bean;
3635
import org.springframework.modulith.events.ApplicationModuleListener;
3736
import org.springframework.modulith.events.Externalized;
38-
import org.springframework.test.context.DynamicPropertyRegistry;
37+
import org.springframework.test.context.DynamicPropertyRegistrar;
3938
import org.springframework.transaction.annotation.Transactional;
4039
import org.testcontainers.containers.localstack.LocalStackContainer;
4140
import org.testcontainers.utility.DockerImageName;
@@ -57,16 +56,20 @@ class SnsEventPublicationIntegrationTests {
5756
static class TestConfiguration {
5857

5958
@Bean
60-
LocalStackContainer localStackContainer(@Qualifier("dynamicPropertyRegistry") DynamicPropertyRegistry registry) {
59+
LocalStackContainer localStackContainer() {
60+
return new LocalStackContainer(DockerImageName.parse("localstack/localstack:latest"));
61+
}
6162

62-
var localstack = new LocalStackContainer(DockerImageName.parse("localstack/localstack:latest"));
63+
@Bean
64+
DynamicPropertyRegistrar localstackDynamicProperties(LocalStackContainer localstack) {
6365

64-
registry.add("spring.cloud.aws.endpoint", localstack::getEndpoint);
65-
registry.add("spring.cloud.aws.credentials.access-key", localstack::getAccessKey);
66-
registry.add("spring.cloud.aws.credentials.secret-key", localstack::getSecretKey);
67-
registry.add("spring.cloud.aws.region.static", localstack::getRegion);
66+
return registry -> {
6867

69-
return localstack;
68+
registry.add("spring.cloud.aws.endpoint", localstack::getEndpoint);
69+
registry.add("spring.cloud.aws.credentials.access-key", localstack::getAccessKey);
70+
registry.add("spring.cloud.aws.credentials.secret-key", localstack::getSecretKey);
71+
registry.add("spring.cloud.aws.region.static", localstack::getRegion);
72+
};
7073
}
7174

7275
@Bean

spring-modulith-events/spring-modulith-events-aws-sqs/src/test/java/org/springframework/modulith/events/aws/sqs/SqsEventPublicationIntegrationTests.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,13 @@
2727

2828
import org.junit.jupiter.api.Test;
2929
import org.springframework.beans.factory.annotation.Autowired;
30-
import org.springframework.beans.factory.annotation.Qualifier;
3130
import org.springframework.boot.autoconfigure.SpringBootApplication;
3231
import org.springframework.boot.test.context.SpringBootTest;
3332
import org.springframework.context.ApplicationEventPublisher;
3433
import org.springframework.context.annotation.Bean;
3534
import org.springframework.modulith.events.ApplicationModuleListener;
3635
import org.springframework.modulith.events.Externalized;
37-
import org.springframework.test.context.DynamicPropertyRegistry;
36+
import org.springframework.test.context.DynamicPropertyRegistrar;
3837
import org.springframework.transaction.annotation.Transactional;
3938
import org.testcontainers.containers.localstack.LocalStackContainer;
4039
import org.testcontainers.utility.DockerImageName;
@@ -56,16 +55,20 @@ class SqsEventPublicationIntegrationTests {
5655
static class TestConfiguration {
5756

5857
@Bean
59-
LocalStackContainer localStackContainer(@Qualifier("dynamicPropertyRegistry") DynamicPropertyRegistry registry) {
58+
LocalStackContainer localStackContainer() {
59+
return new LocalStackContainer(DockerImageName.parse("localstack/localstack:latest"));
60+
}
6061

61-
var localstack = new LocalStackContainer(DockerImageName.parse("localstack/localstack:latest"));
62+
@Bean
63+
DynamicPropertyRegistrar localStackDynamicProperties(LocalStackContainer localstack) {
6264

63-
registry.add("spring.cloud.aws.endpoint", localstack::getEndpoint);
64-
registry.add("spring.cloud.aws.credentials.access-key", localstack::getAccessKey);
65-
registry.add("spring.cloud.aws.credentials.secret-key", localstack::getSecretKey);
66-
registry.add("spring.cloud.aws.region.static", localstack::getRegion);
65+
return registry -> {
6766

68-
return localstack;
67+
registry.add("spring.cloud.aws.endpoint", localstack::getEndpoint);
68+
registry.add("spring.cloud.aws.credentials.access-key", localstack::getAccessKey);
69+
registry.add("spring.cloud.aws.credentials.secret-key", localstack::getSecretKey);
70+
registry.add("spring.cloud.aws.region.static", localstack::getRegion);
71+
};
6972
}
7073

7174
@Bean

spring-modulith-examples/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.springframework.boot</groupId>
66
<artifactId>spring-boot-starter-parent</artifactId>
7-
<version>3.4.0-M3</version>
7+
<version>3.4.0-SNAPSHOT</version>
88
<relativePath />
99
</parent>
1010

0 commit comments

Comments
 (0)