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 <ondrusek.j...@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;