ceilometer/ceilometer/tests/functional/gabbi/gabbits/resources-fixtured.yaml
gord chung 4a10659e23 modernise gabbi tests
gabbi 1.7 supports defining url+method in a single line to make
syntax less verbose and more specific.

Change-Id: Ia4e921bbf0d9475a562beb25810a52609adc47bb
2017-01-26 21:51:02 +00:00

87 lines
2.5 KiB
YAML

#
# Explore and cover resources API with gabbi tests when there are a
# small number of pre-existing resources
#
fixtures:
- ConfigFixture
- SampleDataFixture
tests:
- name: list all resources
GET: /v2/resources
response_json_paths:
$[0].user_id: farmerjon
$[0].links[1].rel: livestock
- name: get one resource
desc: get a resource via the links in the first resource listed above
GET: $RESPONSE['$[0].links[0].href']
response_json_paths:
$.resource_id: $RESPONSE['$[0].resource_id']
- name: list resources limit user_id
GET: /v2/resources?q.field=user_id&q.value=farmerjon
response_json_paths:
$[0].user_id: farmerjon
$[0].links[1].rel: livestock
- name: list resources limit metadata
GET: /v2/resources?q.field=metadata.breed&q.value=sheep
response_json_paths:
$[0].user_id: farmerjon
$[0].links[1].rel: livestock
- name: list resources limit metadata no match
GET: /v2/resources?q.field=metadata.breed&q.value=llamma
response_strings:
- "[]"
- name: fail to get one resource
GET: /v2/resources/nosirnothere
status: 404
- name: list resource meter links present
GET: /v2/resources?meter_links=1
response_json_paths:
$[0].links[0].rel: self
$[0].links[1].rel: livestock
$[0].links[-1].rel: livestock
- name: list resource meter links not present
GET: /v2/resources?meter_links=0
desc: there is only one links entry when meter_links is 0
response_json_paths:
$[0].links[0].rel: self
$[0].links[-1].rel: self
# limit resource results
- name: get resources ulimited
GET: /v2/resources
response_json_paths:
$.`len`: 1
- name: get resources limited
GET: /v2/resources?limit=1
response_json_paths:
$.`len`: 1
- name: get resources double limit
GET: /v2/resources?limit=1&limit=1
status: 400
- name: get resources filter limit
desc: expressing limit this way is now disallowed
GET: /v2/resources?q.field=limit&q.op=eq&q.type=&q.value=1
status: 400
response_strings:
- 'Unknown argument: \"limit\": unrecognized field in query'
- name: get resources filter limit and limit
GET: /v2/resources?q.field=limit&q.op=eq&q.type=&q.value=1&limit=1
status: 400
response_strings:
- 'Unknown argument: \"limit\": unrecognized field in query'