A classic example
Here is a classic config, with oauth2 flow authentification, and two mode switches.
When reqman is executed without switches (reqman test.yml
):
- It will target the server on localhost.
- It will use a default access_token, for development
When reqman is executed with a switch 'prod' (reqman test.yml -prod
):
- It will target the server on example.com (root overriden)
- It will try to obtain a access_token on authorization server (via BEGIN procedure)
A reqman.conf
root: http://localhost:8080
token: # jwt token for local dev
token_type: Bearer
access_token: eyJhbGciOiJIUzI1NiIsInR6cCI6IkpXVCJ9.eyJzdWIiOiIxMzUwNjg4MjciLCJjZGV0YWIiOiIxNjI3NSIsImFwcGlkIjoicG9zdGVfbG9jYWwifQ.XMPNGpB5TUbmm08h2s79KYol32MQaRT_CvhAoTBBBnI
headers:
Content-Type: application/json; charset=utf-8
x-hello: it's me
Authorization: <<token.token_type>> <<token.access_token>>
switches:
prod:
doc: Test in production
root: https://example.com
BEGIN:
POST: https://authorization.server.example.com/oauth/token
headers:
Content-Type: application/x-www-form-urlencoded
body: grant_type=client_credentials&client_id=dbfa1d28-c815-4b61-a435-0b2b761d30ab&client_secret=cbe46cde-affb-4324-8f26-f69ace80f1ce
tests:
- status: 200
save: token
And a yml test file
- GET: /api/pets/v1/list
tests:
- status: 200
save:
pets: <<json.items>>
- GET: /api/pets/v1/info/<<id>>
params:
id: <<json.items.0.id>>