Testcontainers module for the Atlassian's LocalStack, 'a fully functional local AWS cloud stack'.
Running LocalStack as a stand-in for AWS S3 during a test:
public class SomeTest {
@Rule
public LocalStackContainer localstack = new LocalStackContainer()
.withServices(S3);
@Test
public void someTestMethod() {
AmazonS3 s3 = AmazonS3ClientBuilder
.standard()
.withEndpointConfiguration(localstack.getEndpointConfiguration(S3))
.withCredentials(localstack.getDefaultCredentialsProvider())
.build();
s3.createBucket("foo");
s3.putObject("foo", "bar", "baz");Add the following dependency to your pom.xml/build.gradle file:
testCompile "org.testcontainers:localstack:{{latest_version}}"<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>localstack</artifactId>
<version>{{latest_version}}</version>
<scope>test</scope>
</dependency>