Scenario |
HTTP Response Code
|
Success (Insert) |
201
|
Success (Update) |
204
|
Request Body is Empty |
400
|
Request Body has toplevel field starting with underscore |
400
|
Request header has missing fields |
400
|
Request header has invalid auth token |
401
|
Request header has Accept != "application/json" |
406
|
Request body is >4KB |
400
|
Request body has malformed JSON |
400
|
Request with non JSON body |
400
|
Queue has a long name (>512 bytes) |
400
|
Queue that already exists |
204
|
Queue did not already exist |
201
|
Scenario |
HTTP Response Code |
Notes
|
Success |
200 |
|
Request a non existing queue |
404 |
|
URL has invalid param (something other than limit,marker,metadata) |
200 |
Extra params are ignored.
|
Request with negative value for limit |
400 |
|
Request with zero value for limit |
400 |
|
Request with non existing value of marker |
204 [1] |
What does Swift do?
|
Request with non boolean value for metadata |
400 |
lowercase true/false?
|
Header has Accept != "application/json" |
406 |
|
Header has missing fields |
400 |
|
Header has invalid auth token |
401 |
|
Scenario |
HTTP Response Code
|
Success (query matched 1 or more messages) |
200
|
Success (query has no match) |
204
|
Request message from a non existing queue |
404
|
Request message with invalid param (something other than marker,limit,echo) |
200
|
Request message with limit >100 |
400
|
Request message with limit <= 0 |
400
|
Request message with non existing marker |
204 [1]
|
Request message with non boolean value for echo |
400
|
Header has Accept != "application/json" |
406
|
Header has missing fields |
400
|
Header has invalid auth token |
401
|
Error Scenario |
HTTP Response Code
|
Post multiple messages in a single request , all of them fails |
503
|
Post multiple messages in a single request , few of them succeed |
201 (with "partial": true) [3]
|
Post message to a non existing queue |
404
|
Post > 100 messages with a single request |
400
|
Post with request body > 4KB |
400
|
Post with invalid JSON request body |
400
|
Post with non-JSON request body |
400
|
Post with non-JSON message |
400
|
Post with TTL < 60 |
400
|
Post with TTL > 1209600 |
400
|
Post with non int value of TTL |
400
|
Post with negative value of TTL |
same as < 60
|
Post without TTL in request body |
400
|
Post without "body" in request body |
400
|
Post with no request body |
400
|
Post with messages encapsulated in multiple arrays |
400
|
Header has Accept != "application/json" |
406
|
Header has missing fields |
400
|
Header has invalid auth token |
401
|
URL has invalid params |
200
|
Error Scenario |
HTTP Response Code
|
Claim message from a non existing queue |
404
|
Claim message with invalid value for limit (nonint, <=0) |
400
|
Claim message with limit >100) |
400
|
Claim message with no request body |
400
|
Claim message with no TTL field |
400
|
Claim message with invalid TTL value (non int, <=0) |
400
|
Claim message with invalid JSON |
400
|
Claim message with non JSON request body |
400
|
Claim message with invalid auth token |
401
|
Claim message with missing header fields |
400
|
Header has Accept != "application/json" |
406
|
Error Scenario |
HTTP Response Code
|
Update Expired Claim |
404
|
Update Claim on a non existing queue |
404
|
Update a non existing claim |
404
|
Update claim with invalid URL params |
200
|
Update claim with content-type != application/json-patch |
406
|
Update claim with no request body |
400
|
Update claim with invalid JSON in request body |
400
|
Update claim with non JSON request body |
400
|
Update Claim with invalid auth token |
401
|
Update Claim with missing header fields |
400
|