QQQ-14 switch from org.testcontainers/localstack to cloud.localstack (to fix circleci?)

This commit is contained in:
2022-06-21 18:43:35 -05:00
parent 2a2e3370e6
commit ee9f45f8a2
2 changed files with 11 additions and 35 deletions

18
pom.xml
View File

@ -61,21 +61,9 @@
<version>1.12.243</version> <version>1.12.243</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.testcontainers</groupId> <groupId>cloud.localstack</groupId>
<artifactId>testcontainers</artifactId> <artifactId>localstack-utils</artifactId>
<version>1.17.2</version> <version>0.2.20</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>localstack</artifactId>
<version>1.17.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.17.2</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>

View File

@ -22,36 +22,29 @@
package com.kingsrook.qqq.backend.module.filesystem.s3; package com.kingsrook.qqq.backend.module.filesystem.s3;
import com.amazonaws.auth.AWSStaticCredentialsProvider; import cloud.localstack.ServiceName;
import com.amazonaws.auth.BasicAWSCredentials; import cloud.localstack.awssdkv1.TestUtils;
import cloud.localstack.docker.LocalstackDockerExtension;
import cloud.localstack.docker.annotation.LocalstackDockerProperties;
import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.S3ObjectSummary; import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.kingsrook.qqq.backend.module.filesystem.s3.utils.S3Utils; import com.kingsrook.qqq.backend.module.filesystem.s3.utils.S3Utils;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.testcontainers.containers.localstack.LocalStackContainer; import org.junit.jupiter.api.extension.ExtendWith;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
@Testcontainers @ExtendWith(LocalstackDockerExtension.class)
@LocalstackDockerProperties(services = { ServiceName.S3 })
public class BaseS3Test public class BaseS3Test
{ {
private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("localstack/localstack");
public static final String BUCKET_NAME = "localstack-test-bucket"; public static final String BUCKET_NAME = "localstack-test-bucket";
public static final String TEST_FOLDER = "test-files"; public static final String TEST_FOLDER = "test-files";
public static final String SUB_FOLDER = "sub-folder"; public static final String SUB_FOLDER = "sub-folder";
@Container
private static LocalStackContainer localStack = new LocalStackContainer(DEFAULT_IMAGE_NAME)
.withServices(LocalStackContainer.Service.S3);
/******************************************************************************* /*******************************************************************************
@ -99,12 +92,7 @@ public class BaseS3Test
*******************************************************************************/ *******************************************************************************/
protected AmazonS3 getAmazonS3() protected AmazonS3 getAmazonS3()
{ {
BasicAWSCredentials basicAWSCredentials = new BasicAWSCredentials(localStack.getAccessKey(), localStack.getSecretKey()); return (TestUtils.getClientS3());
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard()
.withEndpointConfiguration(localStack.getEndpointConfiguration(LocalStackContainer.Service.S3))
.withCredentials(new AWSStaticCredentialsProvider(basicAWSCredentials))
.build();
return (amazonS3);
} }