Skip to content

Commit d502276

Browse files
committed
Update SQS test to be compatible with JSON API
1 parent 76f8d14 commit d502276

22 files changed

+244
-280
lines changed

src/Service/Sqs/tests/Unit/Input/ChangeMessageVisibilityBatchRequestTest.php

+12-8
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,19 @@ public function testRequest(): void
2222
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibilityBatch.html */
2323
$expected = '
2424
POST / HTTP/1.0
25-
Content-Type: application/x-www-form-urlencoded
25+
Content-Type: application/x-amz-json-1.0
26+
x-amz-target: AmazonSQS.ChangeMessageVisibilityBatch
2627
27-
Action=ChangeMessageVisibilityBatch
28-
&ChangeMessageVisibilityBatchRequestEntry.1.Id=qwertyuiop
29-
&ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=MbZj6wDWli%2BJvwwJaBV%2B3dcjk2YW2vA3%2BSTFFljT
30-
&ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=60
31-
&QueueUrl=queueUrl
32-
&Version=2012-11-05
33-
';
28+
{
29+
"QueueUrl": "queueUrl",
30+
"Entries": [
31+
{
32+
"Id": "qwertyuiop",
33+
"ReceiptHandle": "MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljT",
34+
"VisibilityTimeout": 60
35+
}
36+
]
37+
}';
3438

3539
self::assertRequestEqualsHttpRequest($expected, $input->request());
3640
}

src/Service/Sqs/tests/Unit/Input/ChangeMessageVisibilityRequestTest.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ public function testRequest(): void
1818
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html */
1919
$expected = '
2020
POST / HTTP/1.0
21-
Content-Type: application/x-www-form-urlencoded
21+
Content-Type: application/x-amz-json-1.0
22+
x-amz-target: AmazonSQS.ChangeMessageVisibility
2223
23-
Action=ChangeMessageVisibility
24-
&Version=2012-11-05
25-
&QueueUrl=queueUrl
26-
&ReceiptHandle=MbZj6wDWli%2BJvwwJaBV%2B3dcjk2YW2vA3%2BSTFFljT
27-
&VisibilityTimeout=60
28-
';
24+
{
25+
"QueueUrl": "queueUrl",
26+
"ReceiptHandle": "MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljT",
27+
"VisibilityTimeout": 60
28+
}';
2929

3030
self::assertRequestEqualsHttpRequest($expected, $input->request());
3131
}

src/Service/Sqs/tests/Unit/Input/CreateQueueRequestTest.php

+11-9
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,18 @@ public function testRequest(): void
1818
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html */
1919
$expected = '
2020
POST / HTTP/1.0
21-
Content-Type: application/x-www-form-urlencoded
21+
Content-Type: application/x-amz-json-1.0
22+
x-amz-target: AmazonSQS.CreateQueue
2223
23-
Action=CreateQueue
24-
&Version=2012-11-05
25-
&QueueName=MyQueue
26-
&Attribute.1.Name=DelaySeconds
27-
&Attribute.1.Value=45
28-
&Tag.1.Key=team
29-
&Tag.1.Value=Engineering
30-
';
24+
{
25+
"QueueName":"MyQueue",
26+
"Attributes": {
27+
"DelaySeconds": "45"
28+
},
29+
"tags": {
30+
"team": "Engineering"
31+
}
32+
}';
3133

3234
self::assertRequestEqualsHttpRequest($expected, $input->request());
3335
}

src/Service/Sqs/tests/Unit/Input/DeleteMessageBatchRequestTest.php

+11-7
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,18 @@ public function testRequest(): void
2121
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessageBatch.html */
2222
$expected = '
2323
POST / HTTP/1.0
24-
Content-Type: application/x-www-form-urlencoded
24+
Content-Type: application/x-amz-json-1.0
25+
x-amz-target: AmazonSQS.DeleteMessageBatch
2526
26-
Action=DeleteMessageBatch
27-
&DeleteMessageBatchRequestEntry.1.Id=qwertyuiop
28-
&DeleteMessageBatchRequestEntry.1.ReceiptHandle=MbZj6wDWli%2BJvwwJaBV%2B3dcjk2YW2vA3%2BSTFFljT
29-
&QueueUrl=queueUrl
30-
&Version=2012-11-05
31-
';
27+
{
28+
"QueueUrl": "queueUrl",
29+
"Entries": [
30+
{
31+
"Id": "qwertyuiop",
32+
"ReceiptHandle": "MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljT"
33+
}
34+
]
35+
}';
3236

3337
self::assertRequestEqualsHttpRequest($expected, $input->request());
3438
}

src/Service/Sqs/tests/Unit/Input/DeleteMessageRequestTest.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ public function testRequest(): void
1717
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteMessage.html */
1818
$expected = '
1919
POST / HTTP/1.0
20-
Content-Type: application/x-www-form-urlencoded
20+
Content-Type: application/x-amz-json-1.0
21+
x-amz-target: AmazonSQS.DeleteMessage
2122
22-
Action=DeleteMessage
23-
&Version=2012-11-05
24-
&QueueUrl=queueUrl
25-
&ReceiptHandle=MbZj6wDWli%2BJvwwJaBV%2B3dcjk2YW2vA3%2BSTFFljT
26-
';
23+
{
24+
"QueueUrl": "queueUrl",
25+
"ReceiptHandle": "MbZj6wDWli+JvwwJaBV+3dcjk2YW2vA3+STFFljT"
26+
}';
2727

2828
self::assertRequestEqualsHttpRequest($expected, $input->request());
2929
}

src/Service/Sqs/tests/Unit/Input/DeleteQueueRequestTest.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public function testRequest(): void
1616
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html */
1717
$expected = '
1818
POST / HTTP/1.0
19-
Content-Type: application/x-www-form-urlencoded
19+
Content-Type: application/x-amz-json-1.0
20+
x-amz-target: AmazonSQS.DeleteQueue
2021
21-
Action=DeleteQueue
22-
&Version=2012-11-05
23-
&QueueUrl=queueUrl
24-
';
22+
{
23+
"QueueUrl":"queueUrl"
24+
}';
2525

2626
self::assertRequestEqualsHttpRequest($expected, $input->request());
2727
}

src/Service/Sqs/tests/Unit/Input/GetQueueAttributesRequestTest.php

+6-8
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,13 @@ public function testRequest(): void
1717
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueAttributes.html */
1818
$expected = '
1919
POST / HTTP/1.0
20-
Content-Type: application/x-www-form-urlencoded
20+
Content-Type: application/x-amz-json-1.0
21+
x-amz-target: AmazonSQS.GetQueueAttributes
2122
22-
Action=GetQueueAttributes
23-
&Version=2012-11-05
24-
&QueueUrl=queueUrl
25-
&AttributeName.1=VisibilityTimeout
26-
&AttributeName.2=DelaySeconds
27-
&AttributeName.3=ReceiveMessageWaitTimeSeconds
28-
';
23+
{
24+
"QueueUrl": "queueUrl",
25+
"AttributeNames": ["VisibilityTimeout", "DelaySeconds", "ReceiveMessageWaitTimeSeconds"]
26+
}';
2927

3028
self::assertRequestEqualsHttpRequest($expected, $input->request());
3129
}

src/Service/Sqs/tests/Unit/Input/GetQueueUrlRequestTest.php

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ public function testRequest(): void
1717
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html */
1818
$expected = '
1919
POST / HTTP/1.0
20-
Content-Type: application/x-www-form-urlencoded
20+
Content-Type: application/x-amz-json-1.0
21+
x-amz-target: AmazonSQS.GetQueueUrl
2122
22-
Action=GetQueueUrl
23-
&Version=2012-11-05
24-
&QueueName=MyQueue
25-
&QueueOwnerAWSAccountId=123456
26-
';
23+
{
24+
"QueueName": "MyQueue",
25+
"QueueOwnerAWSAccountId": "123456"
26+
}';
2727

2828
self::assertRequestEqualsHttpRequest($expected, $input->request());
2929
}

src/Service/Sqs/tests/Unit/Input/ListQueuesRequestTest.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public function testRequest(): void
1616
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ListQueues.html */
1717
$expected = '
1818
POST / HTTP/1.0
19-
Content-Type: application/x-www-form-urlencoded
19+
Content-Type: application/x-amz-json-1.0
20+
x-amz-target: AmazonSQS.ListQueues
2021
21-
Action=ListQueues
22-
&Version=2012-11-05
23-
&QueueNamePrefix=M
24-
';
22+
{
23+
"QueueNamePrefix": "M"
24+
}';
2525

2626
self::assertRequestEqualsHttpRequest($expected, $input->request());
2727
}

src/Service/Sqs/tests/Unit/Input/PurgeQueueRequestTest.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public function testRequest(): void
1616
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_PurgeQueue.html */
1717
$expected = '
1818
POST / HTTP/1.0
19-
Content-Type: application/x-www-form-urlencoded
19+
Content-Type: application/x-amz-json-1.0
20+
x-amz-target: AmazonSQS.PurgeQueue
2021
21-
Action=PurgeQueue
22-
&Version=2012-11-05
23-
&QueueUrl=queueUrl
24-
';
22+
{
23+
"QueueUrl": "queueUrl"
24+
}';
2525

2626
self::assertRequestEqualsHttpRequest($expected, $input->request());
2727
}

src/Service/Sqs/tests/Unit/Input/ReceiveMessageRequestTest.php

+11-12
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,18 @@ public function testRequest(): void
2323
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html */
2424
$expected = '
2525
POST / HTTP/1.0
26-
Content-Type: application/x-www-form-urlencoded
26+
Content-Type: application/x-amz-json-1.0
27+
x-amz-target: AmazonSQS.ReceiveMessage
2728
28-
Action=ReceiveMessage
29-
&Version=2012-11-05
30-
&QueueUrl=queueUrl
31-
&AttributeName.1=MessageGroupId
32-
&AttributeName.2=MessageDeduplicationId
33-
&MessageAttributeName.1=Attribute1
34-
&MaxNumberOfMessages=5
35-
&VisibilityTimeout=15
36-
&WaitTimeSeconds=20
37-
&ReceiveRequestAttemptId=abcdef
38-
';
29+
{
30+
"QueueUrl": "queueUrl",
31+
"AttributeNames": ["MessageGroupId", "MessageDeduplicationId"],
32+
"MessageAttributeNames": ["Attribute1"],
33+
"MaxNumberOfMessages": 5,
34+
"VisibilityTimeout": 15,
35+
"WaitTimeSeconds": 20,
36+
"ReceiveRequestAttemptId": "abcdef"
37+
}';
3938

4039
self::assertRequestEqualsHttpRequest($expected, $input->request());
4140
}

src/Service/Sqs/tests/Unit/Input/SendMessageBatchRequestTest.php

+20-13
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,27 @@ public function testRequest(): void
2929
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessageBatch.html */
3030
$expected = '
3131
POST / HTTP/1.0
32-
Content-Type: application/x-www-form-urlencoded
32+
Content-Type: application/x-amz-json-1.0
33+
x-amz-target: AmazonSQS.SendMessageBatch
3334
34-
Action=SendMessageBatch
35-
&QueueUrl=queueUrl
36-
&SendMessageBatchRequestEntry.1.Id=qwertyuiop
37-
&SendMessageBatchRequestEntry.1.DelaySeconds=45
38-
&SendMessageBatchRequestEntry.1.MessageAttribute.1.Value.DataType=String
39-
&SendMessageBatchRequestEntry.1.MessageAttribute.1.Value.StringValue=my_attribute_value_1
40-
&SendMessageBatchRequestEntry.1.MessageAttribute.1.Name=my_attribute_name_1
41-
&SendMessageBatchRequestEntry.1.MessageBody=This+is+a+test+message
42-
&SendMessageBatchRequestEntry.1.MessageDeduplicationId=abcdef
43-
&SendMessageBatchRequestEntry.1.MessageGroupId=abcdef01
44-
&Version=2012-11-05
45-
';
35+
{
36+
"QueueUrl": "queueUrl",
37+
"Entries": [
38+
{
39+
"Id": "qwertyuiop",
40+
"MessageBody": "This is a test message",
41+
"DelaySeconds": 45,
42+
"MessageAttributes": {
43+
"my_attribute_name_1": {
44+
"DataType": "String",
45+
"StringValue": "my_attribute_value_1"
46+
}
47+
},
48+
"MessageDeduplicationId": "abcdef",
49+
"MessageGroupId": "abcdef01"
50+
}
51+
]
52+
}';
4653

4754
self::assertRequestEqualsHttpRequest($expected, $input->request());
4855
}

src/Service/Sqs/tests/Unit/Input/SendMessageRequestTest.php

+21-16
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,28 @@ public function testRequest(): void
3131
/** @see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html */
3232
$expected = '
3333
POST / HTTP/1.0
34-
Content-Type: application/x-www-form-urlencoded
34+
Content-Type: application/x-amz-json-1.0
35+
x-amz-target: AmazonSQS.SendMessage
3536
36-
Action=SendMessage
37-
&Version=2012-11-05
38-
&QueueUrl=queueUrl
39-
&MessageBody=This+is+a+test+message
40-
&DelaySeconds=45
41-
&MessageAttribute.1.Name=my_attribute_name_1
42-
&MessageAttribute.1.Value.StringValue=my_attribute_value_1
43-
&MessageAttribute.1.Value.DataType=String
44-
&MessageSystemAttribute.1.Name=AWSTraceHeader
45-
&MessageSystemAttribute.1.Value.StringListValue.1=my_attribute_value_2
46-
&MessageSystemAttribute.1.Value.StringListValue.2=my_attribute_value_3
47-
&MessageSystemAttribute.1.Value.DataType=String
48-
&MessageDeduplicationId=abcdef
49-
&MessageGroupId=abcdef01
50-
';
37+
{
38+
"QueueUrl": "queueUrl",
39+
"MessageBody": "This is a test message",
40+
"DelaySeconds": 45,
41+
"MessageAttributes": {
42+
"my_attribute_name_1": {
43+
"DataType": "String",
44+
"StringValue": "my_attribute_value_1"
45+
}
46+
},
47+
"MessageSystemAttributes": {
48+
"AWSTraceHeader": {
49+
"DataType": "String",
50+
"StringListValues": ["my_attribute_value_2", "my_attribute_value_3"]
51+
}
52+
},
53+
"MessageDeduplicationId": "abcdef",
54+
"MessageGroupId": "abcdef01"
55+
}';
5156

5257
self::assertRequestEqualsHttpRequest($expected, $input->request());
5358
}

src/Service/Sqs/tests/Unit/Result/ChangeMessageVisibilityBatchResultTest.php

+13-15
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,19 @@ class ChangeMessageVisibilityBatchResultTest extends TestCase
1414
public function testChangeMessageVisibilityBatchResult(): void
1515
{
1616
// see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibilityBatch.html
17-
$response = new SimpleMockedResponse(<<<XML
18-
<ChangeMessageVisibilityBatchResponse>
19-
<ChangeMessageVisibilityBatchResult>
20-
<ChangeMessageVisibilityBatchResultEntry>
21-
<Id>change_visibility_msg_2</Id>
22-
</ChangeMessageVisibilityBatchResultEntry>
23-
<ChangeMessageVisibilityBatchResultEntry>
24-
<Id>change_visibility_msg_3</Id>
25-
</ChangeMessageVisibilityBatchResultEntry>
26-
</ChangeMessageVisibilityBatchResult>
27-
<ResponseMetadata>
28-
<RequestId>ca9668f7-ab1b-4f7a-8859-f15747ab17a7</RequestId>
29-
</ResponseMetadata>
30-
</ChangeMessageVisibilityBatchResponse>
31-
XML
17+
$response = new SimpleMockedResponse(<<<JSON
18+
{
19+
"Failed": [],
20+
"Successful": [
21+
{
22+
"Id": "change_visibility_msg_2"
23+
},
24+
{
25+
"Id": "change_visibility_msg_3"
26+
}
27+
]
28+
}
29+
JSON
3230
);
3331

3432
$client = new MockHttpClient($response);

src/Service/Sqs/tests/Unit/Result/CreateQueueResultTest.php

+6-11
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,12 @@ class CreateQueueResultTest extends TestCase
1515
{
1616
public function testCreateQueueResult()
1717
{
18-
$response = new SimpleMockedResponse(<<<XML
19-
<?xml version="1.0" encoding="UTF-8"?>
20-
<CreateQueueResponse>
21-
<CreateQueueResult>
22-
<QueueUrl>https://queue.amazonaws.com/123456789012/MyQueue</QueueUrl>
23-
</CreateQueueResult>
24-
<ResponseMetadata>
25-
<RequestId>7a62c49f-347e-4fc4-9331-6e8e7a96aa73</RequestId>
26-
</ResponseMetadata>
27-
</CreateQueueResponse>
28-
XML
18+
// see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html
19+
$response = new SimpleMockedResponse(<<<JSON
20+
{
21+
"QueueUrl":"https://queue.amazonaws.com/123456789012/MyQueue"
22+
}
23+
JSON
2924
);
3025

3126
$client = new MockHttpClient($response);

0 commit comments

Comments
 (0)