You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/09/24 10:09:07 UTC

[camel] branch master updated (a07f7a2 -> dfbce78)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from a07f7a2  Camel-AWs2-Eventbridge: More test
     new b799779  Camel-AWS2-Eventbridge: Added an integration test
     new 4640e8e  Camel-AWS2-Eventbridge: Added missing test dependencies
     new dfbce78  Camel-AWS2-Eventbridge: Fixed POM

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 components/camel-aws2-eventbridge/pom.xml          | 10 ++++++
 ...a => EventbridgePutRuleSqsIntegrationTest.java} | 38 +++++++++++++++++----
 .../src/test/resources/eventpattern.json           | 39 ++++++++++++++++++++--
 3 files changed, 77 insertions(+), 10 deletions(-)
 copy components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/{EventbridgePutRuleIntegrationTest.java => EventbridgePutRuleSqsIntegrationTest.java} (73%)


[camel] 03/03: Camel-AWS2-Eventbridge: Fixed POM

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit dfbce7849bacb3f6e29da370bbe39ef01c336179
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 12:06:35 2020 +0200

    Camel-AWS2-Eventbridge: Fixed POM
---
 components/camel-aws2-eventbridge/pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/components/camel-aws2-eventbridge/pom.xml b/components/camel-aws2-eventbridge/pom.xml
index 818fd70..1139579 100644
--- a/components/camel-aws2-eventbridge/pom.xml
+++ b/components/camel-aws2-eventbridge/pom.xml
@@ -80,6 +80,7 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-aws2-sqs</artifactId>
             <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <profiles>


[camel] 02/03: Camel-AWS2-Eventbridge: Added missing test dependencies

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4640e8ea2378b9b06872a9eb2d291471287d2543
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 12:06:01 2020 +0200

    Camel-AWS2-Eventbridge: Added missing test dependencies
---
 components/camel-aws2-eventbridge/pom.xml                      |  9 +++++++++
 .../integration/EventbridgePutRuleSqsIntegrationTest.java      | 10 +++++-----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/components/camel-aws2-eventbridge/pom.xml b/components/camel-aws2-eventbridge/pom.xml
index 36a3d4e..818fd70 100644
--- a/components/camel-aws2-eventbridge/pom.xml
+++ b/components/camel-aws2-eventbridge/pom.xml
@@ -71,6 +71,15 @@
             <artifactId>camel-testcontainers-junit5</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-aws2-s3</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-aws2-sqs</artifactId>
+            <scope>test</scope>
     </dependencies>
 
     <profiles>
diff --git a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java
index 7fd8e17..92c486f 100644
--- a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java
+++ b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java
@@ -49,14 +49,14 @@ public class EventbridgePutRuleSqsIntegrationTest extends CamelTestSupport {
                     .credentialsProvider(StaticCredentialsProvider.create(
                             AwsBasicCredentials.create("xxxxx", "yyyy")))
                     .region(Region.EU_WEST_1).build();
-    
+
     @BindToRegistry("sqs-client")
     SqsClient clientSqs
             = SqsClient.builder()
                     .credentialsProvider(StaticCredentialsProvider.create(
                             AwsBasicCredentials.create("xxxx", "yyyy")))
                     .region(Region.EU_WEST_1).build();
-    
+
     @BindToRegistry("s3-client")
     S3Client clientS3
             = S3Client.builder()
@@ -97,11 +97,11 @@ public class EventbridgePutRuleSqsIntegrationTest extends CamelTestSupport {
                 exchange.getIn().setHeader(EventbridgeConstants.TARGETS, targets);
             }
         });
-        
+
         clientS3.createBucket(CreateBucketRequest.builder().bucket("test-2567810").build());
-        
+
         clientS3.deleteBucket(DeleteBucketRequest.builder().bucket("test-2567810").build());
-        
+
         Thread.sleep(60000);
         assertMockEndpointsSatisfied();
 


[camel] 01/03: Camel-AWS2-Eventbridge: Added an integration test

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b799779fa89bcf6a3b0c42cf1b39c86f439f1160
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Sep 24 12:04:25 2020 +0200

    Camel-AWS2-Eventbridge: Added an integration test
---
 .../EventbridgePutRuleSqsIntegrationTest.java      | 124 +++++++++++++++++++++
 .../src/test/resources/eventpattern.json           |  39 ++++++-
 2 files changed, 160 insertions(+), 3 deletions(-)

diff --git a/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java
new file mode 100644
index 0000000..7fd8e17
--- /dev/null
+++ b/components/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/integration/EventbridgePutRuleSqsIntegrationTest.java
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.eventbridge.integration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.camel.BindToRegistry;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws2.eventbridge.EventbridgeConstants;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+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.eventbridge.EventBridgeClient;
+import software.amazon.awssdk.services.eventbridge.model.Target;
+import software.amazon.awssdk.services.s3.S3Client;
+import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
+import software.amazon.awssdk.services.s3.model.DeleteBucketRequest;
+import software.amazon.awssdk.services.sqs.SqsClient;
+
+@Disabled("Must be manually tested. Provide your own accessKey and secretKey! Don't forget to create a trails on your AWS Cloud Trails console before running this!")
+public class EventbridgePutRuleSqsIntegrationTest extends CamelTestSupport {
+
+    @BindToRegistry("eventbridge-client")
+    EventBridgeClient eventbridgeClient
+            = EventBridgeClient.builder()
+                    .credentialsProvider(StaticCredentialsProvider.create(
+                            AwsBasicCredentials.create("xxxxx", "yyyy")))
+                    .region(Region.EU_WEST_1).build();
+    
+    @BindToRegistry("sqs-client")
+    SqsClient clientSqs
+            = SqsClient.builder()
+                    .credentialsProvider(StaticCredentialsProvider.create(
+                            AwsBasicCredentials.create("xxxx", "yyyy")))
+                    .region(Region.EU_WEST_1).build();
+    
+    @BindToRegistry("s3-client")
+    S3Client clientS3
+            = S3Client.builder()
+                    .credentialsProvider(StaticCredentialsProvider.create(
+                            AwsBasicCredentials.create("xxxx", "yyyy")))
+                    .region(Region.EU_WEST_1).build();
+
+    @EndpointInject
+    private ProducerTemplate template;
+
+    @EndpointInject("mock:result")
+    private MockEndpoint result;
+
+    @EndpointInject("mock:result1")
+    private MockEndpoint result1;
+
+    @Test
+    public void sendIn() throws Exception {
+        result.expectedMessageCount(2);
+
+        template.send("direct:evs", new Processor() {
+
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule");
+            }
+        });
+
+        template.send("direct:evs-targets", new Processor() {
+
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(EventbridgeConstants.RULE_NAME, "firstrule");
+                Target target = Target.builder().id("sqs-queue").arn("arn:aws:sqs:eu-west-1:780410022472:camel-connector-test")
+                        .build();
+                List<Target> targets = new ArrayList<Target>();
+                targets.add(target);
+                exchange.getIn().setHeader(EventbridgeConstants.TARGETS, targets);
+            }
+        });
+        
+        clientS3.createBucket(CreateBucketRequest.builder().bucket("test-2567810").build());
+        
+        clientS3.deleteBucket(DeleteBucketRequest.builder().bucket("test-2567810").build());
+        
+        Thread.sleep(60000);
+        assertMockEndpointsSatisfied();
+
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                String awsEndpoint
+                        = "aws2-eventbridge://default?operation=putRule&eventPatternFile=file:src/test/resources/eventpattern.json";
+                String target = "aws2-eventbridge://default?operation=putTargets";
+                from("direct:evs").to(awsEndpoint).log("${body}");
+                from("direct:evs-targets").to(target).log("${body}");
+                from("aws2-sqs:camel-connector-test").log("${body}").to("mock:result");
+            }
+        };
+    }
+}
diff --git a/components/camel-aws2-eventbridge/src/test/resources/eventpattern.json b/components/camel-aws2-eventbridge/src/test/resources/eventpattern.json
index 454ccba..698cf75 100644
--- a/components/camel-aws2-eventbridge/src/test/resources/eventpattern.json
+++ b/components/camel-aws2-eventbridge/src/test/resources/eventpattern.json
@@ -1,5 +1,38 @@
 {
-   "source":[
-      "aws.s3"
-   ]
+  "source": [
+    "aws.s3"
+  ],
+  "detail-type": [
+    "AWS API Call via CloudTrail"
+  ],
+  "detail": {
+    "eventSource": [
+      "s3.amazonaws.com"
+    ],
+    "eventName": [
+      "DeleteBucket",
+      "DeleteBucketCors",
+      "DeleteBucketLifecycle",
+      "DeleteBucketPolicy",
+      "DeleteBucketReplication",
+      "DeleteBucketTagging",
+      "DeleteBucketWebsite",
+      "CreateBucket",
+      "PutBucketAcl",
+      "PutBucketCors",
+      "PutBucketLifecycle",
+      "PutBucketPolicy",
+      "PutBucketLogging",
+      "PutBucketNotification",
+      "PutBucketReplication",
+      "PutBucketTagging",
+      "PutBucketRequestPayment",
+      "PutBucketVersioning",
+      "PutBucketWebsite",
+      "PutBucketEncryption",
+      "DeleteBucketEncryption",
+      "DeleteBucketPublicAccessBlock",
+      "PutBucketPublicAccessBlock"
+    ]
+  }
 }