Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3d8226a

Browse files
committed
[Messenger][AmazonSqs] Allow async-aws/sqs version 2
1 parent 840c5cc commit 3d8226a

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

src/Symfony/Component/Messenger/Bridge/AmazonSqs/Tests/Transport/ConnectionTest.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use AsyncAws\Sqs\Result\ReceiveMessageResult;
1818
use AsyncAws\Sqs\SqsClient;
1919
use AsyncAws\Sqs\ValueObject\Message;
20+
use Composer\InstalledVersions;
2021
use PHPUnit\Framework\TestCase;
2122
use Psr\Log\NullLogger;
2223
use Symfony\Component\HttpClient\MockHttpClient;
@@ -342,6 +343,16 @@ public function testLoggerWithDebugOption()
342343

343344
private function getMockedQueueUrlResponse(): MockResponse
344345
{
346+
if ($this->isAsyncAwsSqsVersion2Installed()) {
347+
return new MockResponse(
348+
<<<JSON
349+
{
350+
"QueueUrl": "https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue"
351+
}
352+
JSON
353+
);
354+
}
355+
345356
return new MockResponse(<<<XML
346357
<GetQueueUrlResponse>
347358
<GetQueueUrlResult>
@@ -357,6 +368,28 @@ private function getMockedQueueUrlResponse(): MockResponse
357368

358369
private function getMockedReceiveMessageResponse(): MockResponse
359370
{
371+
if ($this->isAsyncAwsSqsVersion2Installed()) {
372+
return new MockResponse(<<<JSON
373+
{
374+
"Messages": [
375+
{
376+
"Attributes": {
377+
"SenderId": "195004372649",
378+
"ApproximateFirstReceiveTimestamp": "1250700979248",
379+
"ApproximateReceiveCount": "5",
380+
"SentTimestamp": "1238099229000"
381+
},
382+
"Body": "This is a test message",
383+
"MD5OfBody": "fafb00f5732ab283681e124bf8747ed1",
384+
"MessageId": "5fea7756-0ea4-451a-a703-a558b933e274",
385+
"ReceiptHandle": "MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljTM8tJJg6HRG6PYSasuWXPJB+CwLj1FjgXUv1uSj1gUPAWV66FU/WeR4mq2OKpEGYWbnLmpRCJVAyeMjeU5ZBdtcQ+QEauMZc8ZRv37sIW2iJKq3M9MFx1YvV11A2x/KSbkJ0="
386+
}
387+
]
388+
}
389+
JSON
390+
);
391+
}
392+
360393
return new MockResponse(<<<XML
361394
<ReceiveMessageResponse>
362395
<ReceiveMessageResult>
@@ -394,4 +427,11 @@ private function getMockedReceiveMessageResponse(): MockResponse
394427
XML
395428
);
396429
}
430+
431+
private function isAsyncAwsSqsVersion2Installed(): bool
432+
{
433+
$version = InstalledVersions::getVersion('async-aws/sqs');
434+
435+
return 'dev-master' === $version || version_compare($version, '2.0.0') >= 0;
436+
}
397437
}

src/Symfony/Component/Messenger/Bridge/AmazonSqs/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"require": {
1919
"php": ">=7.2.5",
2020
"async-aws/core": "^1.5",
21-
"async-aws/sqs": "^1.0",
21+
"async-aws/sqs": "^1.0|^2.0",
2222
"symfony/messenger": "^4.3|^5.0|^6.0",
2323
"symfony/service-contracts": "^1.1|^2|^3",
2424
"psr/log": "^1|^2|^3"

0 commit comments

Comments
 (0)