[placement] Add functional tests for traits API

Add functional tests for traits API in the following cases.

* Invalid 'resource_provider_generation' in
  PUT /resource_providers/{uuid}/traits
* Invalid 'traits' in
  PUT /resource_providers/{uuid}/traits
* Additional properties in
  PUT /resource_providers/{uuid}/traits
* Earlier microverion (1.5)

Fix a response string to check in the following test.

* Missing 'resource_provider_generation' in
  PUT /resource_providers/{uuid}/traits

Change-Id: I4db0c8a5c55f7fcdebd5fcb04273d922727a4521
This commit is contained in:
Takashi NATSUME 2017-11-30 16:52:23 +09:00
parent 6d3f4f0521
commit c23f135b11
1 changed files with 81 additions and 1 deletions

View File

@ -28,6 +28,12 @@ tests:
response_strings:
- 'The trait is invalid. A valid trait must be no longer than 255 characters, start with the prefix \"CUSTOM_\" and use following characters: \"A\"-\"Z\", \"0\"-\"9\" and \"_\"'
- name: create a trait earlier version
PUT: /traits/CUSTOM_TRAIT_1
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: create a trait
PUT: /traits/CUSTOM_TRAIT_1
status: 201
@ -47,6 +53,12 @@ tests:
response_forbidden_headers:
- content-type
- name: get a trait earlier version
GET: /traits/CUSTOM_TRAIT_1
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: get a trait
GET: /traits/CUSTOM_TRAIT_1
status: 204
@ -60,6 +72,12 @@ tests:
GET: /traits/NON_EXISTED
status: 404
- name: delete a trait earlier version
DELETE: /traits/CUSTOM_TRAIT_1
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: delete a trait
DELETE: /traits/CUSTOM_TRAIT_1
status: 204
@ -107,6 +125,12 @@ tests:
- MISC_SHARES_VIA_AGGREGATE
- HW_CPU_X86_SHA
- name: list traits earlier version
GET: /traits
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: list traits with invalid format of name parameter
GET: /traits?name=in_abc
status: 400
@ -213,6 +237,12 @@ tests:
response_forbidden_headers:
- content-type
- name: list traits for resource provider earlier version
GET: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: list traits for resource provider without traits
GET: /resource_providers/$ENVIRON['RP_UUID']/traits
status: 200
@ -224,6 +254,13 @@ tests:
- cache-control
- last-modified
- name: set traits for resource provider earlier version
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
content-type: application/json
openstack-api-version: placement 1.5
status: 404
- name: set traits for resource provider
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
@ -270,7 +307,19 @@ tests:
- CUSTOM_TRAIT_1
- CUSTOM_TRAIT_2
response_strings:
- CUSTOM_TRAIT_1
- "'resource_provider_generation' is a required property"
- name: set traits for resource provider with invalid resource provider generation
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
content-type: application/json
status: 400
data:
traits:
- CUSTOM_TRAIT_1
resource_provider_generation: invalid_generation
response_strings:
- "'invalid_generation' is not of type 'integer'"
- name: set traits for resource provider with conflict generation
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
@ -300,6 +349,31 @@ tests:
- NON_EXISTED_TRAIT1
- NON_EXISTED_TRAIT2
- name: set traits for resource provider with invalid type of traits
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
content-type: application/json
status: 400
data:
traits: invalid_type
resource_provider_generation: 1
response_strings:
- "'invalid_type' is not of type 'array'"
- name: set traits for resource provider with additional properties
PUT: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
content-type: application/json
status: 400
data:
traits:
- CUSTOM_TRAIT_1
- CUSTOM_TRAIT_2
resource_provider_generation: 1
additional: additional
response_strings:
- 'Additional properties are not allowed'
- name: set traits for non_existed resource provider
PUT: /resource_providers/non_existed/traits
request_headers:
@ -336,6 +410,12 @@ tests:
response_strings:
- No resource provider with uuid non_existed found
- name: delete traits for resource provider earlier version
DELETE: /resource_providers/$ENVIRON['RP_UUID']/traits
request_headers:
openstack-api-version: placement 1.5
status: 404
- name: delete traits for resource provider
DELETE: /resource_providers/$ENVIRON['RP_UUID']/traits
status: 204