Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -181,19 +181,15 @@ private void listQueues(SqsClient amazonSQS, Exchange exchange) {

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);
}

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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -80,8 +85,12 @@ public ListQueuesResponse listQueues() {
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();
}
Expand Down Expand Up @@ -187,12 +196,18 @@ public DeleteMessageResponse deleteMessage(DeleteMessageRequest deleteMessageReq

@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();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

public class SqsProducerDeleteQueueTest extends CamelTestSupport {
@BindToRegistry("client")
AmazonSQSClientMock mock = new AmazonSQSClientMock();
AmazonSQSClientMock mock = new AmazonSQSClientMock("camel-1");

@EndpointInject("direct:start")
private ProducerTemplate template;
Expand All @@ -46,8 +46,7 @@ public void deleteMessage() throws Exception {
template.send("direct:start", new Processor() {

@Override
public void process(Exchange exchange) throws Exception {
exchange.getIn().setHeader(Sqs2Constants.SQS_QUEUE_PREFIX, "camel-1");
public void process(Exchange exchange) {
}
});
assertMockEndpointsSatisfied();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
public class SqsProducerPurgeTest extends CamelTestSupport {

@BindToRegistry("client")
AmazonSQSClientMock mock = new AmazonSQSClientMock();
AmazonSQSClientMock mock = new AmazonSQSClientMock("camel-1");

@EndpointInject("direct:start")
private ProducerTemplate template;
Expand Down