17
17
use AsyncAws \Sqs \Result \ReceiveMessageResult ;
18
18
use AsyncAws \Sqs \SqsClient ;
19
19
use AsyncAws \Sqs \ValueObject \Message ;
20
+ use Composer \InstalledVersions ;
20
21
use PHPUnit \Framework \TestCase ;
21
22
use Psr \Log \NullLogger ;
22
23
use Symfony \Component \HttpClient \MockHttpClient ;
@@ -342,6 +343,16 @@ public function testLoggerWithDebugOption()
342
343
343
344
private function getMockedQueueUrlResponse (): MockResponse
344
345
{
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
+
345
356
return new MockResponse (<<<XML
346
357
<GetQueueUrlResponse>
347
358
<GetQueueUrlResult>
@@ -357,6 +368,28 @@ private function getMockedQueueUrlResponse(): MockResponse
357
368
358
369
private function getMockedReceiveMessageResponse (): MockResponse
359
370
{
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
+
360
393
return new MockResponse (<<<XML
361
394
<ReceiveMessageResponse>
362
395
<ReceiveMessageResult>
@@ -394,4 +427,11 @@ private function getMockedReceiveMessageResponse(): MockResponse
394
427
XML
395
428
);
396
429
}
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
+ }
397
437
}
0 commit comments