You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2020/11/19 17:04:05 UTC
[camel] branch master updated: Migrates the camel-aws2-ec2 tests to
the shared test infra (#4633)
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 <or...@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;