blob: 86b303072a2a105ced7e19f16ae2abdf3be9bdba [file] [log] [blame]
Feature: Returning valid responses with various queries
Scenario: User will get XML version if there is no Accept or format parameter
Given URI /api exists
And authentification is not required for this URI
And client perform an HTTP request for this URI
Then client should get valid XML response
Scenario: User wants to get XML version of API using Accept header
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/xml;q=0.9 |
And client perform an HTTP request for this URI
Then client should get valid XML response
Scenario: User wants to get HTML version of API using Accept header
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/xhtml+xml |
And client perform an HTTP request for this URI
Then client should get valid HTML response
Scenario: User wants to get JSON version of API
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/json;q=0.9 |
And client perform an HTTP request for this URI
Then client should get valid JSON response
Scenario: User wants to get XML version of API with format parameter
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/xhtml+xml;q=0.9 |
And client accept this URI with parameters:
| format | xml |
And client perform an HTTP request for this URI
Then client should get valid XML response
Scenario: User wants to get JSON version of API with format parameter
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/xhtml+html;q=0.9 |
And client accept this URI with parameters:
| format | json |
And client perform an HTTP request for this URI
Then client should get valid JSON response
Scenario: User set Accept to json but force format to XML using format parameter
Given URI /api exists
And authentification is not required for this URI
When client use Accept header:
| application/json;q=0.9 |
And client accept this URI with parameters:
| format | xml |
And client perform an HTTP request for this URI
Then client should get valid XML response
# Extensions are ignored, so this doesn't affect content-negotiation
Scenario: User wants to get XML version of API with format parameter and set extension
Given URI /api exists
And authentification is not required for this URI
When client wants to get URI '/api.xml'
When client use Accept header:
| application/xhtml+xml;q=0.9 |
And client perform an HTTP request for this URI
Then client should get valid HTML response