
This migrates the above files from tempest. This includes tempest commits: * versions.py: I70294329870de46b2c4c8775a1d7920bee403954 * versions_client.py: I70294329870de46b2c4c8775a1d7920bee403954 to see the commit history for these files refer to the above Change-Ids in the tempest repository Partially implements blueprint migrate-service-clients-to-tempest-lib Change-Id: I41ec60e12a155ee80f3a1825405bdd6e1ec82425
111 lines
3.1 KiB
Python
111 lines
3.1 KiB
Python
# Copyright 2015 NEC Corporation. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import copy
|
|
|
|
|
|
_version = {
|
|
'type': 'object',
|
|
'properties': {
|
|
'id': {'type': 'string'},
|
|
'links': {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'href': {'type': 'string', 'format': 'uri'},
|
|
'rel': {'type': 'string'},
|
|
'type': {'type': 'string'},
|
|
},
|
|
'required': ['href', 'rel'],
|
|
'additionalProperties': False
|
|
}
|
|
},
|
|
'status': {'type': 'string'},
|
|
'updated': {'type': 'string', 'format': 'date-time'},
|
|
'version': {'type': 'string'},
|
|
'min_version': {'type': 'string'},
|
|
'media-types': {
|
|
'type': 'array',
|
|
'properties': {
|
|
'base': {'type': 'string'},
|
|
'type': {'type': 'string'},
|
|
}
|
|
},
|
|
},
|
|
# NOTE: version and min_version have been added since Kilo,
|
|
# so they should not be required.
|
|
# NOTE(sdague): media-types only shows up in single version requests.
|
|
'required': ['id', 'links', 'status', 'updated'],
|
|
'additionalProperties': False
|
|
}
|
|
|
|
list_versions = {
|
|
'status_code': [200],
|
|
'response_body': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'versions': {
|
|
'type': 'array',
|
|
'items': _version
|
|
}
|
|
},
|
|
'required': ['versions'],
|
|
'additionalProperties': False
|
|
}
|
|
}
|
|
|
|
|
|
_detail_get_version = copy.deepcopy(_version)
|
|
_detail_get_version['properties'].pop('min_version')
|
|
_detail_get_version['properties'].pop('version')
|
|
_detail_get_version['properties'].pop('updated')
|
|
_detail_get_version['properties']['media-types'] = {
|
|
'type': 'array',
|
|
'items': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'base': {'type': 'string'},
|
|
'type': {'type': 'string'}
|
|
}
|
|
}
|
|
}
|
|
_detail_get_version['required'] = ['id', 'links', 'status', 'media-types']
|
|
|
|
get_version = {
|
|
'status_code': [300],
|
|
'response_body': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'choices': {
|
|
'type': 'array',
|
|
'items': _detail_get_version
|
|
}
|
|
},
|
|
'required': ['choices'],
|
|
'additionalProperties': False
|
|
}
|
|
}
|
|
|
|
get_one_version = {
|
|
'status_code': [200],
|
|
'response_body': {
|
|
'type': 'object',
|
|
'properties': {
|
|
'version': _version
|
|
},
|
|
'additionalProperties': False
|
|
}
|
|
}
|