Extra tests around required traits
This patch adds some tests to prove the following for both GET /resource_providers and /allocation_candidates API: * in:trait1,trait2 is not yet supported, this will makes sure we don't leak the support to older microversions * repeated `required` query params are not supported. Interestingly the current behavior is that one `required` query param will overwrite the rest. Story: 2005345 Story: 2005346 Change-Id: I67d1af5b8b6e945c744180358d588e95e13c33f6
This commit is contained in:
parent
affb87af23
commit
396634e07c
placement/tests/functional/gabbits
@ -0,0 +1,48 @@
|
||||
fixtures:
|
||||
- GranularFixture
|
||||
|
||||
defaults:
|
||||
request_headers:
|
||||
x-auth-token: admin
|
||||
accept: application/json
|
||||
openstack-api-version: placement latest
|
||||
|
||||
tests:
|
||||
|
||||
- name: the 'in:' trait query is not supported yet
|
||||
GET: /allocation_candidates?required=in:CUSTOM_FOO,HW_CPU_X86_MMX&resources=VCPU:1
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 400
|
||||
response_strings:
|
||||
- "No such trait(s): in:CUSTOM_FOO"
|
||||
|
||||
- name: the 'in:' trait query is not supported yet in named request group
|
||||
GET: /allocation_candidates?requiredX=in:CUSTOM_FOO,HW_CPU_X86_MMX&resourcesX=VCPU:1
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 400
|
||||
response_strings:
|
||||
- "No such trait(s): in:CUSTOM_FOO"
|
||||
|
||||
- name: the second required field overwrites the first
|
||||
# The fixture has one RP for each trait but no RP for both traits.
|
||||
# As the second 'required' key overwrites the first in <= 1.38 we expect
|
||||
# that one of that RPs will be returned.
|
||||
GET: /allocation_candidates?required=CUSTOM_FOO&required=HW_CPU_X86_MMX&resources=VCPU:1
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 200
|
||||
response_json_paths:
|
||||
$.allocation_requests.`len`: 1
|
||||
|
||||
- name: the second required field overwrites the first in named groups
|
||||
# The fixture has one RP for each trait but no RP for both traits.
|
||||
# As the second 'required' key overwrites the first in <= 1.38 we expect
|
||||
# that one of that RPs will be returned.
|
||||
GET: /allocation_candidates?requiredX=CUSTOM_FOO&requiredX=HW_CPU_X86_MMX&resourcesX=VCPU:1
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 200
|
||||
response_json_paths:
|
||||
$.allocation_requests.`len`: 1
|
@ -0,0 +1,29 @@
|
||||
fixtures:
|
||||
- GranularFixture
|
||||
|
||||
defaults:
|
||||
request_headers:
|
||||
x-auth-token: admin
|
||||
accept: application/json
|
||||
openstack-api-version: placement latest
|
||||
|
||||
tests:
|
||||
|
||||
- name: the 'in:' trait query is not supported yet
|
||||
GET: /resource_providers?required=in:CUSTOM_FOO,HW_CPU_X86_MMX
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 400
|
||||
response_strings:
|
||||
- "No such trait(s): in:CUSTOM_FOO"
|
||||
|
||||
- name: the second required field overwrites the first
|
||||
# The fixture has one RP for each trait but no RP for both traits.
|
||||
# As the second 'required' key overwrites the first in <= 1.38 we expect
|
||||
# that one of that RPs will be returned.
|
||||
GET: /resource_providers?required=CUSTOM_FOO&required=HW_CPU_X86_MMX
|
||||
request_headers:
|
||||
openstack-api-version: placement 1.38
|
||||
status: 200
|
||||
response_json_paths:
|
||||
$.resource_providers.`len`: 1
|
Loading…
x
Reference in New Issue
Block a user