diff --git a/pom.xml b/pom.xml
index 1203c029..b92e5cef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,6 +32,7 @@
v1-rev20201112-1.30.10
1.17.3
2.31.0
+ 3.0.0-SNAPSHOT
true
true
@@ -109,6 +110,13 @@
wiremock-jre8-standalone
${wiremock.version}
+
+ io.awspring.cloud
+ spring-cloud-aws-dependencies
+ ${spring-cloud-aws.version}
+ pom
+ import
+
diff --git a/spring-cloud-config-dependencies/pom.xml b/spring-cloud-config-dependencies/pom.xml
index bf25c289..123be339 100644
--- a/spring-cloud-config-dependencies/pom.xml
+++ b/spring-cloud-config-dependencies/pom.xml
@@ -18,7 +18,6 @@
6.4.0.202211300538-r
3.0.0
2.1.1.RELEASE
- 2.4.4
@@ -72,11 +71,6 @@
org.eclipse.jgit.ssh.apache
${jgit.version}
-
- io.awspring.cloud
- spring-cloud-aws-context
- ${spring-cloud-aws.version}
-
org.tmatesoft.svnkit
svnkit
diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java
index 40566c00..9582b91d 100644
--- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java
+++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/AwsS3IntegrationTests.java
@@ -18,10 +18,7 @@ package org.springframework.cloud.config.server;
import java.io.IOException;
-import com.amazonaws.client.builder.AwsClientBuilder;
-import com.amazonaws.services.s3.AmazonS3;
-import com.amazonaws.services.s3.AmazonS3ClientBuilder;
-import io.awspring.cloud.context.config.annotation.ContextResourceLoaderConfiguration;
+import io.awspring.cloud.autoconfigure.s3.S3AutoConfiguration;
import org.json.JSONException;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
@@ -30,13 +27,15 @@ import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
+import software.amazon.awssdk.core.sync.RequestBody;
+import software.amazon.awssdk.services.s3.S3Client;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.config.environment.Environment;
import org.springframework.cloud.config.server.test.TestConfigServerApplication;
import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.util.SocketUtils;
+import org.springframework.test.util.TestSocketUtils;
import org.springframework.web.client.RestTemplate;
import static org.assertj.core.api.Assertions.assertThat;
@@ -47,9 +46,9 @@ import static org.assertj.core.api.Assertions.assertThat;
@Testcontainers
public class AwsS3IntegrationTests {
- private static final int configServerPort = SocketUtils.findAvailableTcpPort();
+ private static final int configServerPort = TestSocketUtils.findAvailableTcpPort();
- private static AmazonS3 s3Client;
+ private static S3Client s3Client;
private static ConfigurableApplicationContext server;
@@ -60,29 +59,27 @@ public class AwsS3IntegrationTests {
@BeforeAll
public static void startConfigServer() throws IOException, InterruptedException, JSONException {
- server = SpringApplication.run(
- new Class[] { TestConfigServerApplication.class, ContextResourceLoaderConfiguration.class },
+ server = SpringApplication.run(new Class[] { TestConfigServerApplication.class, S3AutoConfiguration.class },
new String[] { "--spring.config.name=server", "--spring.profiles.active=awss3",
"--server.port=" + configServerPort,
"--spring.cloud.config.server.awss3.endpoint="
+ localstack.getEndpointOverride(LocalStackContainer.Service.S3).toString(),
"--spring.cloud.config.server.awss3.bucket=test-bucket",
"--spring.cloud.config.server.awss3.region=" + localstack.getRegion(),
- "--cloud.aws.s3.endpoint="
+ "--spring.cloud.aws.endpoint="
+ localstack.getEndpointOverride(LocalStackContainer.Service.S3).toString(),
- "--cloud.aws.credentials.access-key=" + localstack.getAccessKey(),
- "--cloud.aws.credentials.secret-key=" + localstack.getSecretKey(),
- "--cloud.aws.region.static=" + localstack.getRegion() });
+ "--spring.cloud.aws.credentials.access-key=" + localstack.getAccessKey(),
+ "--spring.cloud.aws.credentials.secret-key=" + localstack.getSecretKey(),
+ "--spring.cloud.aws.region.static=" + localstack.getRegion() });
- AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard();
- AwsClientBuilder.EndpointConfiguration endpointConfiguration = new AwsClientBuilder.EndpointConfiguration(
- localstack.getEndpointOverride(LocalStackContainer.Service.S3).toString(), "us-east-1");
- builder.withEndpointConfiguration(endpointConfiguration);
- s3Client = builder.build();
- s3Client.createBucket("test-bucket");
- s3Client.putObject("test-bucket", "data.txt", "this is a test");
- s3Client.putObject("test-bucket", "main/data.txt", "this is a test in main");
- s3Client.putObject("test-bucket", "application.properties", "foo=1");
+ s3Client = server.getBean(S3Client.class);
+ s3Client.createBucket((request) -> request.bucket("test-bucket"));
+ s3Client.putObject((request) -> request.bucket("test-bucket").key("data.txt"),
+ RequestBody.fromString("this is a test"));
+ s3Client.putObject((request) -> request.bucket("test-bucket").key("main/data.txt"),
+ RequestBody.fromString("this is a test in main"));
+ s3Client.putObject((request) -> request.bucket("test-bucket").key("application.properties"),
+ RequestBody.fromString("foo=1"));
}
diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsParameterStoreEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsParameterStoreEnvironmentRepositoryTests.java
index 9c759d25..d5a7aef5 100644
--- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsParameterStoreEnvironmentRepositoryTests.java
+++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsParameterStoreEnvironmentRepositoryTests.java
@@ -63,7 +63,7 @@ public class AwsParameterStoreEnvironmentRepositoryTests {
@Container
private static final LocalStackContainer localstack = new LocalStackContainer(
- DockerImageName.parse("localstack/localstack:0.14.2")).withServices(SSM);
+ DockerImageName.parse("localstack/localstack:1.3.1")).withServices(SSM);
private final StaticCredentialsProvider staticCredentialsProvider = StaticCredentialsProvider
.create(AwsBasicCredentials.create(localstack.getAccessKey(), localstack.getSecretKey()));
diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java
index f29607cf..5626cf6e 100644
--- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java
+++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsS3EnvironmentRepositoryTests.java
@@ -58,7 +58,7 @@ public class AwsS3EnvironmentRepositoryTests {
@Container
private static final LocalStackContainer localstack = new LocalStackContainer(
- DockerImageName.parse("localstack/localstack:0.14.2")).withServices(S3);
+ DockerImageName.parse("localstack/localstack:1.3.1")).withServices(S3);
private final ConfigServerProperties server = new ConfigServerProperties();
diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsSecretsManagerEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsSecretsManagerEnvironmentRepositoryTests.java
index 637e988c..b552c6c5 100644
--- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsSecretsManagerEnvironmentRepositoryTests.java
+++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/AwsSecretsManagerEnvironmentRepositoryTests.java
@@ -61,7 +61,7 @@ public class AwsSecretsManagerEnvironmentRepositoryTests {
@Container
private static final LocalStackContainer localstack = new LocalStackContainer(
- DockerImageName.parse("localstack/localstack:0.14.2")).withServices(SECRETSMANAGER);
+ DockerImageName.parse("localstack/localstack:1.3.1")).withServices(SECRETSMANAGER);
private static final Log log = LogFactory.getLog(AwsSecretsManagerEnvironmentRepository.class);