Merge "Verify Set/Get/Delete server meta item attributes"

This commit is contained in:
Jenkins
2014-05-01 16:33:58 +00:00
committed by Gerrit Code Review
5 changed files with 42 additions and 1 deletions

View File

@@ -55,10 +55,19 @@ set_server_metadata = {
'response_body': {
'type': 'object',
'properties': {
'metadata': {'type': 'object'}
'metadata': {
'type': 'object',
'patternProperties': {
'^.+$': {'type': 'string'}
}
}
},
'required': ['metadata']
}
}
list_server_metadata = copy.deepcopy(set_server_metadata)
delete_server_metadata_item = {
'status_code': [204]
}

View File

@@ -90,3 +90,19 @@ attach_volume = {
detach_volume = {
'status_code': [202]
}
set_get_server_metadata_item = {
'status_code': [200],
'response_body': {
'type': 'object',
'properties': {
'meta': {
'type': 'object',
'patternProperties': {
'^.+$': {'type': 'string'}
}
}
},
'required': ['meta']
}
}

View File

@@ -12,7 +12,9 @@
# License for the specific language governing permissions and limitations
# under the License.
import copy
from tempest.api_schema.compute import parameter_types
from tempest.api_schema.compute import servers
create_server = {
'status_code': [202],
@@ -46,3 +48,5 @@ create_server = {
attach_detach_volume = {
'status_code': [202]
}
set_get_server_metadata_item = copy.deepcopy(servers.set_server_metadata)

View File

@@ -300,6 +300,8 @@ class ServersClientJSON(rest_client.RestClient):
def get_server_metadata_item(self, server_id, key):
resp, body = self.get("servers/%s/metadata/%s" % (str(server_id), key))
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return resp, body['meta']
def set_server_metadata_item(self, server_id, key, meta):
@@ -307,11 +309,15 @@ class ServersClientJSON(rest_client.RestClient):
resp, body = self.put('servers/%s/metadata/%s' % (str(server_id), key),
post_body)
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return resp, body['meta']
def delete_server_metadata_item(self, server_id, key):
resp, body = self.delete("servers/%s/metadata/%s" %
(str(server_id), key))
self.validate_response(common_schema.delete_server_metadata_item,
resp, body)
return resp, body
def stop(self, server_id, **kwargs):

View File

@@ -308,6 +308,8 @@ class ServersV3ClientJSON(rest_client.RestClient):
def get_server_metadata_item(self, server_id, key):
resp, body = self.get("servers/%s/metadata/%s" % (str(server_id), key))
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return resp, body['metadata']
def set_server_metadata_item(self, server_id, key, meta):
@@ -315,11 +317,15 @@ class ServersV3ClientJSON(rest_client.RestClient):
resp, body = self.put('servers/%s/metadata/%s' % (str(server_id), key),
post_body)
body = json.loads(body)
self.validate_response(schema.set_get_server_metadata_item,
resp, body)
return resp, body['metadata']
def delete_server_metadata_item(self, server_id, key):
resp, body = self.delete("servers/%s/metadata/%s" %
(str(server_id), key))
self.validate_response(common_schema.delete_server_metadata_item,
resp, body)
return resp, body
def stop(self, server_id, **kwargs):