diff --git a/binders/kinesis-binder/spring-cloud-stream-binder-kinesis/src/test/java/org/springframework/cloud/stream/binder/kinesis/LocalstackContainerTest.java b/binders/kinesis-binder/spring-cloud-stream-binder-kinesis/src/test/java/org/springframework/cloud/stream/binder/kinesis/LocalstackContainerTest.java index be8b28db3..8514dc49b 100644 --- a/binders/kinesis-binder/spring-cloud-stream-binder-kinesis/src/test/java/org/springframework/cloud/stream/binder/kinesis/LocalstackContainerTest.java +++ b/binders/kinesis-binder/spring-cloud-stream-binder-kinesis/src/test/java/org/springframework/cloud/stream/binder/kinesis/LocalstackContainerTest.java @@ -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 , 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(); }