diff --git a/spring-app/build.gradle b/spring-app/build.gradle index 29dc34e..b65c967 100644 --- a/spring-app/build.gradle +++ b/spring-app/build.gradle @@ -1,15 +1,22 @@ plugins { id 'java' - id 'org.springframework.boot' version '3.2.0' - id 'io.spring.dependency-management' version '1.1.4' + id 'org.springframework.boot' version '3.4.2' + id 'io.spring.dependency-management' version '1.1.7' } group = 'bitxon.spring' version = '1.0-SNAPSHOT' java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +configurations { + compileOnly { + extendsFrom annotationProcessor + } } repositories { diff --git a/spring-app/src/test/java/bitxon/spring/test/ext/TestcontainersConfig.java b/spring-app/src/test/java/bitxon/spring/test/ext/TestcontainersConfig.java index d1780c0..8d7466e 100644 --- a/spring-app/src/test/java/bitxon/spring/test/ext/TestcontainersConfig.java +++ b/spring-app/src/test/java/bitxon/spring/test/ext/TestcontainersConfig.java @@ -3,6 +3,7 @@ import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.context.annotation.Bean; +import org.springframework.test.context.DynamicPropertyRegistrar; import org.springframework.test.context.DynamicPropertyRegistry; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.PostgreSQLContainer; @@ -12,6 +13,13 @@ @TestConfiguration(proxyBeanMethods = false) public class TestcontainersConfig { + @Bean + public DynamicPropertyRegistrar propertiesOverride(GenericContainer wiremockContainer) { + return (registry) -> + registry.add("http.exchange-client.url", () -> httpUrl(wiremockContainer, 8080)); + + } + @Bean @ServiceConnection public PostgreSQLContainer postgreSQLContainer() { @@ -23,22 +31,21 @@ public PostgreSQLContainer postgreSQLContainer() { } @Bean - public GenericContainer wiremockContainer(DynamicPropertyRegistry registry) { - var container = new GenericContainer("wiremock/wiremock:3.0.0-1") + public GenericContainer wiremockContainer() { + return new GenericContainer("wiremock/wiremock:3.0.0-1") .withExposedPorts(8080) .withCopyFileToContainer(MountableFile.forClasspathResource("stubs"), "/home/wiremock") .waitingFor(Wait .forHttp("/__admin/mappings") .withMethod("GET") .forStatusCode(200)); - - - registry.add("http.exchange-client.url", () -> httpUrl(container.getHost(), container.getMappedPort(8080))); - - return container; } private static String httpUrl(String host, Integer port) { return String.format("http://%s:%d", host, port); } + + private static String httpUrl(GenericContainer container, Integer originalPort) { + return httpUrl(container.getHost(), container.getMappedPort(originalPort)); + } }