|
59 | 59 | import static com.amazon.sqs.javamessaging.AmazonSQSExtendedClient.USER_AGENT_NAME;
|
60 | 60 | import static com.amazon.sqs.javamessaging.AmazonSQSExtendedClient.USER_AGENT_VERSION;
|
61 | 61 | import static org.junit.Assert.assertEquals;
|
| 62 | +import static org.junit.Assert.assertNotEquals; |
62 | 63 | import static org.mockito.Matchers.any;
|
63 | 64 | import static org.mockito.Matchers.eq;
|
64 | 65 | import static org.mockito.Mockito.doThrow;
|
@@ -429,6 +430,34 @@ public void testWhenMessageBatchIsSentThenOnlyMessagesLargerThanThresholdAreStor
|
429 | 430 | verify(mockS3, times(8)).putObject(isA(PutObjectRequest.class), isA(RequestBody.class));
|
430 | 431 | }
|
431 | 432 |
|
| 433 | + @Test |
| 434 | + public void testWhenMessageBatchIsLargeS3PointerIsCorrectlySentToSQSAndNotOriginalMessage() { |
| 435 | + String messageBody = generateStringWithLength(LESS_THAN_SQS_SIZE_LIMIT); |
| 436 | + ExtendedClientConfiguration extendedClientConfiguration = new ExtendedClientConfiguration() |
| 437 | + .withPayloadSupportEnabled(mockS3, S3_BUCKET_NAME).withAlwaysThroughS3(true); |
| 438 | + |
| 439 | + SqsClient sqsExtended = spy(new AmazonSQSExtendedClient(mockSqsBackend, extendedClientConfiguration)); |
| 440 | + |
| 441 | + List<SendMessageBatchRequestEntry> batchEntries = new ArrayList<SendMessageBatchRequestEntry>(); |
| 442 | + for (int i = 0; i < 10; i++) { |
| 443 | + SendMessageBatchRequestEntry entry = SendMessageBatchRequestEntry.builder() |
| 444 | + .id("entry_" + i) |
| 445 | + .messageBody(messageBody) |
| 446 | + .build(); |
| 447 | + batchEntries.add(entry); |
| 448 | + } |
| 449 | + SendMessageBatchRequest batchRequest = SendMessageBatchRequest.builder().queueUrl(SQS_QUEUE_URL).entries(batchEntries).build(); |
| 450 | + |
| 451 | + sqsExtended.sendMessageBatch(batchRequest); |
| 452 | + |
| 453 | + ArgumentCaptor<SendMessageBatchRequest> sendMessageRequestCaptor = ArgumentCaptor.forClass(SendMessageBatchRequest.class); |
| 454 | + verify(mockSqsBackend).sendMessageBatch(sendMessageRequestCaptor.capture()); |
| 455 | + |
| 456 | + for (SendMessageBatchRequestEntry entry : sendMessageRequestCaptor.getValue().entries()) { |
| 457 | + assertNotEquals(messageBody, entry.messageBody()); |
| 458 | + } |
| 459 | + } |
| 460 | + |
432 | 461 | @Test
|
433 | 462 | public void testWhenSmallMessageIsSentThenNoAttributeIsAdded() {
|
434 | 463 | String messageBody = generateStringWithLength(LESS_THAN_SQS_SIZE_LIMIT);
|
|
0 commit comments