This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new b460d11 Migrates the camel-aws2-ec2 tests to the shared test infra (#4633) b460d11 is described below commit b460d11d3dcbe9c7ffd2508a5055c72680745d77 Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com> AuthorDate: Thu Nov 19 17:57:10 2020 +0100 Migrates the camel-aws2-ec2 tests to the shared test infra (#4633) --- components/camel-aws2-ec2/pom.xml | 24 +++++++++- .../aws2/ec2/localstack/Aws2EC2BaseTest.java | 55 ++++------------------ test-infra/camel-test-infra-aws-v2/pom.xml | 6 +++ .../test/infra/aws2/clients/AWSSDKClientUtils.java | 6 +++ ...rvice.java => AWSEC2LocalContainerService.java} | 22 ++------- .../infra/aws2/services/AWSServiceFactory.java | 4 ++ .../camel/test/infra/aws2/services/Service.java | 7 +-- 7 files changed, 55 insertions(+), 69 deletions(-) diff --git a/components/camel-aws2-ec2/pom.xml b/components/camel-aws2-ec2/pom.xml index 57809b7..91abdee 100644 --- a/components/camel-aws2-ec2/pom.xml +++ b/components/camel-aws2-ec2/pom.xml @@ -67,9 +67,29 @@ <artifactId>log4j-slf4j-impl</artifactId> <scope>test</scope> </dependency> - <dependency> + + <!-- test infra --> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-test-infra-common</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-test-infra-aws-common</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + <dependency> <groupId>org.apache.camel</groupId> - <artifactId>camel-testcontainers-junit5</artifactId> + <artifactId>camel-test-infra-aws-v2</artifactId> + <version>${project.version}</version> + <type>test-jar</type> <scope>test</scope> </dependency> </dependencies> diff --git a/components/camel-aws2-ec2/src/test/java/org/apache/camel/component/aws2/ec2/localstack/Aws2EC2BaseTest.java b/components/camel-aws2-ec2/src/test/java/org/apache/camel/component/aws2/ec2/localstack/Aws2EC2BaseTest.java index bb60756..ac39b27 100644 --- a/components/camel-aws2-ec2/src/test/java/org/apache/camel/component/aws2/ec2/localstack/Aws2EC2BaseTest.java +++ b/components/camel-aws2-ec2/src/test/java/org/apache/camel/component/aws2/ec2/localstack/Aws2EC2BaseTest.java @@ -16,61 +16,26 @@ */ package org.apache.camel.component.aws2.ec2.localstack; -import java.net.URI; - import org.apache.camel.CamelContext; import org.apache.camel.component.aws2.ec2.AWS2EC2Component; -import org.apache.camel.test.testcontainers.junit5.ContainerAwareTestSupport; -import org.apache.camel.test.testcontainers.junit5.Wait; +import org.apache.camel.test.infra.aws.common.services.AWSService; +import org.apache.camel.test.infra.aws2.clients.AWSSDKClientUtils; +import org.apache.camel.test.infra.aws2.services.AWSServiceFactory; +import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.TestInstance; -import org.testcontainers.containers.GenericContainer; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.ec2.Ec2Client; +import org.junit.jupiter.api.extension.RegisterExtension; @TestInstance(TestInstance.Lifecycle.PER_CLASS) -public class Aws2EC2BaseTest extends ContainerAwareTestSupport { - - public static final String CONTAINER_IMAGE = "localstack/localstack:0.12.2"; - public static final String CONTAINER_NAME = "ec2"; - - @Override - protected GenericContainer<?> createContainer() { - return localstackContainer(); - } - - public static GenericContainer localstackContainer() { - return new GenericContainer(CONTAINER_IMAGE) - .withNetworkAliases(CONTAINER_NAME) - .withEnv("SERVICES", "ec2") - .withExposedPorts(4566) - .waitingFor(Wait.forListeningPort()) - .waitingFor(Wait.forLogMessageContaining("Ready.", 1)); - } - - public String getS3Url() { - return String.format( - "%s:%d", - getContainerHost(CONTAINER_NAME), - getContainerPort(CONTAINER_NAME, 4566)); - } - - public Ec2Client getEc2Client() { - Ec2Client sqsClient = Ec2Client - .builder() - .endpointOverride(URI.create("http://" + getS3Url())) - .credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("xxx", "yyy"))) - .region(Region.EU_WEST_1) - .build(); - return sqsClient; - } +public class Aws2EC2BaseTest extends CamelTestSupport { + @SuppressWarnings("unused") + @RegisterExtension + public static AWSService service = AWSServiceFactory.createEC2Service(); @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); AWS2EC2Component ec2 = context.getComponent("aws2-ec2", AWS2EC2Component.class); - ec2.getConfiguration().setAmazonEc2Client(getEc2Client()); + ec2.getConfiguration().setAmazonEc2Client(AWSSDKClientUtils.newEC2Client()); return context; } } diff --git a/test-infra/camel-test-infra-aws-v2/pom.xml b/test-infra/camel-test-infra-aws-v2/pom.xml index cb63c9d..2a78680 100644 --- a/test-infra/camel-test-infra-aws-v2/pom.xml +++ b/test-infra/camel-test-infra-aws-v2/pom.xml @@ -84,6 +84,12 @@ <dependency> <groupId>software.amazon.awssdk</groupId> + <artifactId>ec2</artifactId> + <version>${aws-java-sdk2-version}</version> + </dependency> + + <dependency> + <groupId>software.amazon.awssdk</groupId> <artifactId>apache-client</artifactId> <version>${aws-java-sdk2-version}</version> </dependency> diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/clients/AWSSDKClientUtils.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/clients/AWSSDKClientUtils.java index fac841c..634ae5e 100644 --- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/clients/AWSSDKClientUtils.java +++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/clients/AWSSDKClientUtils.java @@ -30,6 +30,7 @@ import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder; import software.amazon.awssdk.core.SdkClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.cloudwatch.CloudWatchClient; +import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.kinesis.KinesisClient; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.sns.SnsClient; @@ -139,4 +140,9 @@ public final class AWSSDKClientUtils { public static CloudWatchClient newCloudWatchClient() { return newClient("Cloud Watch", CloudWatchClient::builder, CloudWatchClient.class); } + + public static Ec2Client newEC2Client() { + return newClient("EC2", Ec2Client::builder, Ec2Client.class); + } + } diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSEC2LocalContainerService.java similarity index 67% copy from test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java copy to test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSEC2LocalContainerService.java index 7458de6..3a0ecba6 100644 --- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java +++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSEC2LocalContainerService.java @@ -17,24 +17,8 @@ package org.apache.camel.test.infra.aws2.services; -public enum Service { - KINESIS("kinesis"), - SQS("sqs"), - S3("s3"), - SNS("sns"), - CLOUD_WATCH("cloudwatch"); - - private final String serviceName; - - Service(String serviceName) { - this.serviceName = serviceName; - } - - public String getServiceName() { - return serviceName; - } - - public static String serviceName(Service service) { - return service.serviceName; +public class AWSEC2LocalContainerService extends AWSLocalContainerService { + public AWSEC2LocalContainerService() { + super(Service.EC2); } } diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java index 9a34090..504f50b 100644 --- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java +++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/AWSServiceFactory.java @@ -76,4 +76,8 @@ public final class AWSServiceFactory { public static AWSService createCloudWatchService() { return createService("AWS Cloud Watch", AWSCloudWatchLocalContainerService::new); } + + public static AWSService createEC2Service() { + return createService("AWS EC2", AWSEC2LocalContainerService::new); + } } diff --git a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java index 7458de6..e14d9c1 100644 --- a/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java +++ b/test-infra/camel-test-infra-aws-v2/src/test/java/org/apache/camel/test/infra/aws2/services/Service.java @@ -18,11 +18,12 @@ package org.apache.camel.test.infra.aws2.services; public enum Service { + CLOUD_WATCH("cloudwatch"), + EC2("ec2"), KINESIS("kinesis"), - SQS("sqs"), S3("s3"), - SNS("sns"), - CLOUD_WATCH("cloudwatch"); + SQS("sqs"), + SNS("sns"); private final String serviceName;