You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/05/19 04:30:17 UTC

[camel] branch main updated: CAMEL-18123 Aws2-sqs: Operations PurgeQueue and DeleteQueue requires unnecessary header (#7633)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new b489ed90d1a CAMEL-18123 Aws2-sqs: Operations PurgeQueue and DeleteQueue requires unnecessary header (#7633)
b489ed90d1a is described below

commit b489ed90d1abe11d03653cbc083bbcdb91478ee5
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Thu May 19 06:30:12 2022 +0200

    CAMEL-18123 Aws2-sqs: Operations PurgeQueue and DeleteQueue requires unnecessary header (#7633)
---
 .../apache/camel/component/aws2/sqs/Sqs2Producer.java |  8 ++------
 .../camel/component/aws2/sqs/AmazonSQSClientMock.java | 19 +++++++++++++++++--
 .../aws2/sqs/SqsProducerDeleteQueueTest.java          |  3 +--
 .../component/aws2/sqs/SqsProducerPurgeTest.java      |  2 +-
 4 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
index 86a96d51c1e..5a006a5f36c 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
+++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
@@ -183,9 +183,7 @@ public class Sqs2Producer extends DefaultProducer {
 
     private void purgeQueue(SqsClient amazonSQS, Exchange exchange) {
         PurgeQueueRequest.Builder request = PurgeQueueRequest.builder();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Sqs2Constants.SQS_QUEUE_PREFIX))) {
-            request.queueUrl(getQueueUrl());
-        }
+        request.queueUrl(getQueueUrl());
         PurgeQueueResponse result = amazonSQS.purgeQueue(request.build());
         Message message = getMessageForResponse(exchange);
         message.setBody(result);
@@ -193,9 +191,7 @@ public class Sqs2Producer extends DefaultProducer {
 
     private void deleteQueue(SqsClient amazonSQS, Exchange exchange) {
         DeleteQueueRequest.Builder request = DeleteQueueRequest.builder();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(Sqs2Constants.SQS_QUEUE_PREFIX))) {
-            request.queueUrl(getQueueUrl());
-        }
+        request.queueUrl(getQueueUrl());
         DeleteQueueResponse result = amazonSQS.deleteQueue(request.build());
         Message message = getMessageForResponse(exchange);
         message.setBody(result);
diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/AmazonSQSClientMock.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/AmazonSQSClientMock.java
index ec48869d1f5..c50ea3b10a1 100644
--- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/AmazonSQSClientMock.java
+++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/AmazonSQSClientMock.java
@@ -67,10 +67,15 @@ public class AmazonSQSClientMock implements SqsClient {
     private Map<String, CreateQueueRequest> queues = new LinkedHashMap<>();
     private Map<String, ScheduledFuture<?>> inFlight = new LinkedHashMap<>();
     private ScheduledExecutorService scheduler;
+    private String queueName;
 
     public AmazonSQSClientMock() {
     }
 
+    public AmazonSQSClientMock(String queueName) {
+        this.queueName = queueName;
+    }
+
     @Override
     public ListQueuesResponse listQueues() {
         return ListQueuesResponse.builder().build();
@@ -80,8 +85,12 @@ public class AmazonSQSClientMock implements SqsClient {
     public ListQueuesResponse listQueues(ListQueuesRequest request) {
         ListQueuesResponse.Builder result = ListQueuesResponse.builder();
         List<String> queues = new ArrayList<>();
-        queues.add("queue1");
-        queues.add("queue2");
+        if (queueName != null) {
+            queues.add("/" + queueName);
+        } else {
+            queues.add("queue1");
+            queues.add("queue2");
+        }
         result.queueUrls(queues);
         return result.build();
     }
@@ -187,12 +196,18 @@ public class AmazonSQSClientMock implements SqsClient {
 
     @Override
     public PurgeQueueResponse purgeQueue(PurgeQueueRequest purgeQueueRequest) {
+        if (purgeQueueRequest.queueUrl() == null) {
+            throw SqsException.builder().message("Queue name must be specified.").build();
+        }
         return PurgeQueueResponse.builder().build();
     }
 
     @Override
     public DeleteQueueResponse deleteQueue(DeleteQueueRequest deleteQueueRequest)
             throws AwsServiceException, SdkClientException, SqsException {
+        if (deleteQueueRequest.queueUrl() == null) {
+            throw SqsException.builder().message("Queue name must be specified.").build();
+        }
         return DeleteQueueResponse.builder().build();
     }
 
diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerDeleteQueueTest.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerDeleteQueueTest.java
index 34e6785748b..dc4f50f6788 100644
--- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerDeleteQueueTest.java
+++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerDeleteQueueTest.java
@@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class SqsProducerDeleteQueueTest extends CamelTestSupport {
     @BindToRegistry("client")
-    AmazonSQSClientMock mock = new AmazonSQSClientMock();
+    AmazonSQSClientMock mock = new AmazonSQSClientMock("camel-1");
 
     @EndpointInject("direct:start")
     private ProducerTemplate template;
@@ -47,7 +47,6 @@ public class SqsProducerDeleteQueueTest extends CamelTestSupport {
 
             @Override
             public void process(Exchange exchange) {
-                exchange.getIn().setHeader(Sqs2Constants.SQS_QUEUE_PREFIX, "camel-1");
             }
         });
         assertMockEndpointsSatisfied();
diff --git a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerPurgeTest.java b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerPurgeTest.java
index f16d69d1cd4..d477fba004d 100644
--- a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerPurgeTest.java
+++ b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/SqsProducerPurgeTest.java
@@ -32,7 +32,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 public class SqsProducerPurgeTest extends CamelTestSupport {
 
     @BindToRegistry("client")
-    AmazonSQSClientMock mock = new AmazonSQSClientMock();
+    AmazonSQSClientMock mock = new AmazonSQSClientMock("camel-1");
 
     @EndpointInject("direct:start")
     private ProducerTemplate template;