Fix compile error in LocalstackContainerTest

* Improve docker reuse in `LocalstackContainerTest`
This commit is contained in:
Chris Bono
2022-05-24 11:05:17 -05:00
committed by GitHub
parent 317db6094a
commit 9f8dc3eded

View File

@@ -23,17 +23,16 @@ import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsync;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClientBuilder;
import com.amazonaws.services.kinesis.AmazonKinesisAsync;
import com.amazonaws.services.kinesis.AmazonKinesisAsyncClientBuilder;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
import org.testcontainers.containers.localstack.LocalStackContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
import org.springframework.integration.test.util.TestUtils;
/**
*
* @author Artem Bilan
* @author Chris Bono
*
* @since 4.0
*/
@@ -41,14 +40,17 @@ import org.springframework.integration.test.util.TestUtils;
@DisabledOnOs(OS.MAC)
public interface LocalstackContainerTest {
@Container
LocalStackContainer localStack =
new LocalStackContainer(DockerImageName.parse(TestUtils.dockerRegistryFromEnv() + "localstack/localstack"))
.withServices(
LocalStackContainer.Service.DYNAMODB,
LocalStackContainer.Service.KINESIS,
LocalStackContainer.Service.CLOUDWATCH);
LocalStackContainer LOCAL_STACK_CONTAINER =
new LocalStackContainer(DockerImageName.parse("localstack/localstack"))
.withServices(
LocalStackContainer.Service.DYNAMODB,
LocalStackContainer.Service.KINESIS,
LocalStackContainer.Service.CLOUDWATCH);
@BeforeAll
static void startContainer() {
LOCAL_STACK_CONTAINER.start();
}
static AmazonDynamoDBAsync dynamoDbClient() {
return applyAwsClientOptions(AmazonDynamoDBAsyncClientBuilder.standard(), LocalStackContainer.Service.DYNAMODB);
@@ -65,8 +67,8 @@ public interface LocalstackContainerTest {
private static <B extends AwsClientBuilder<B, T>, T> T applyAwsClientOptions(B clientBuilder,
LocalStackContainer.Service serviceToBuild) {
return clientBuilder.withEndpointConfiguration(localStack.getEndpointConfiguration(serviceToBuild))
.withCredentials(localStack.getDefaultCredentialsProvider())
return clientBuilder.withEndpointConfiguration(LOCAL_STACK_CONTAINER.getEndpointConfiguration(serviceToBuild))
.withCredentials(LOCAL_STACK_CONTAINER.getDefaultCredentialsProvider())
.build();
}