# Demonstrates dependencies between requests.
$ API_URL = https://lorem-api.com/api
---
Get JWT
POST {{ API_URL }}/jwt
~~~ application/json
{
"username": "foo",
"password": "demo-password",
"role": "admin"
}
~~~
& body.token -> $JWT_TOKEN
# JWT request succeeds
^ & status == 200
# Captures a JWT token
^ $JWT_TOKEN ~= /[A-Za-z0-9_.-]+/
! echo $JWT_TOKEN | cut -d '.' -f2 | base64 --decode -> $JWT_PAYLOAD
# JWT payload includes the username
^ $JWT_PAYLOAD ~= /"Username":\s*"foo"/
# JWT payload includes the admin role
^ $JWT_PAYLOAD ~= /"Role":\s*"admin"/
---
Echo Response
> requires: Get JWT
POST {{ API_URL }}/echo
~~~ application/json
{ "foo" : "{{ JWT_TOKEN }}" }
~~~
# Echoes the captured token
^ & body.foo == $JWT_TOKEN