Use case
You are testing the CRUD (Create, Read, Update, Delete) operations for your resource
/planets
.
You want to create a planet by posting on your /planets
, then you want to
verify that your planet was created and is available.
You can create:
- A scenario
Creation scenario
in projectStar wars API
with a requestCreate planet
that posts the new planet. - A second request
Verify planet existence
that will retrieve the new planet's ID from the response of the first request to get the created planet on/planets/{planetId}
.
If the response of your first request is:
{
"id": "9e5d2284-94ad-11e7-bbbc-773611cab8f7",
"name": "Tatooine",
"rotation_period": "23",
"orbital_period": "304",
"diameter": "10465",
"climate": "arid",
"gravity": "1 standard",
"terrain": "desert",
"population": "200000",
}
Then you can test that your planet was created by creating a GET on
https://my-star-wars-api.com/planets/${"Star wars API"."Creation scenario"."Create
planet"."response"."body"."id"}
and asserting the response code is 200, for
example.
Usable elements
Requests are structured as follows:
{
{request name}: {string},
"request": {
"method" : {string},
"uri" : {string},
"headers" : {
{header name} : {header value}
},
"query" : {
{query parameter name} : {query parameter value}
},
"body" : {string or object}
},
"response": {
"headers" : {object},
"status" : {
"message" : {string},
"code" : {number}
}
"body" : {string or object}
}
}
The response contains a JSON object representing the HTTP response to the last call of the request.
You can query it in the same way you would query a standard JavaScript object, using a dotted notation.
This means you can reference elements of the request
Get
planets
in project Star-wars API
as
follows:
- Request URI:
${"Star-wars API"."Get planets"."request"."uri"}
- Response status code:
${"Star-wars API"."Get planets"."response"."status"."code"}
- Response header
Content-type
value:${"Star-wars API"."Get planets"."response"."headers"."Content-type"}
- Response body attribute
id
:${"Star-wars API"."Get planets"."response"."body"."id"}