Update test_xml_deprecation

*Updated tests containing content-type in
test_xml_deprecation to account for updated policies
regarding xml deprecation
*Removed helper method as it is no longer needed
*Updated copyright date
*Updated a miss doc string addition

Change-Id: Id137765d7f1459ac7d7522f7aef477327173d163
This commit is contained in:
Luke Wollney 2016-03-02 15:13:16 -06:00
parent ec4869da92
commit ef97f584a5
1 changed files with 45 additions and 69 deletions

View File

@ -1,5 +1,5 @@
"""
Copyright 2015 Rackspace
Copyright 2016 Rackspace
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -33,50 +33,57 @@ class XMLDeprecationTest(ComputeFixture):
xml and ensure that the header is ignored returning a valid json
response.
The following assertions occur:
- The response content does not contain xml content
"""
response_content = self._get_flavors_xml_response(accept='xml')
self.assertNotIn('xml version', response_content,
'Unexpected xml content was found in the response')
@tags(type='smoke', net='no')
def test_get_request_content_type_xml_ignored(self):
"""
A GET request passing only the content-type header as xml is ignored
Request a list of available flavors passing only the content-type
header as xml and ensure that the header is ignored returning a valid
json response.
The following assertions occur:
- The response content does not contain xml content
"""
response_content = self._get_flavors_xml_response(content_type='xml')
self.assertNotIn('xml version', response_content,
'Unexpected xml content was found in the response')
@tags(type='smoke', net='no')
def test_get_request_accept_and_content_type_xml_ignored(self):
"""
A GET request passing accept and content-type headers as xml is ignored
Request a list of available flavors passing both the accept and
content-type headers as xml and ensure that the headers are ignored
returning a valid json response.
The following assertions occur:
- The response code is 200
- The response content does not contain xml content
"""
response_content = self._get_flavors_xml_response(
accept='xml', content_type='xml')
self.assertNotIn('xml version', response_content,
self.flavors_client.default_headers['Accept'] = 'application/xml'
self.flavors_client.default_headers['Content-Type'] = (
'application/json')
response = self.flavors_client.list_flavors()
self.assertEqual(response.status_code, 200,
'Unexpected status code returned. '
'Expected: {0} Received: '
'{1}'.format(200, response.status_code))
self.assertNotIn('xml version', response,
'Unexpected xml content was found in the response')
@tags(type='smoke', net='no')
def test_get_request_content_type_xml_negative(self):
"""
A GET request passing only the content-type header as xml returns 400
Request a list of available flavors passing only the content-type
header as xml and ensure that a bad request exception is returned.
The following assertions occur:
- The response code is 400
"""
self.flavors_client.default_headers['Accept'] = 'application/json'
self.flavors_client.default_headers['Content-Type'] = 'application/xml'
with self.assertRaises(BadRequest):
self.flavors_client.list_flavors()
@tags(type='smoke', net='no')
def test_get_request_accept_and_content_type_xml_negative(self):
"""
A GET request passing accept / content-type headers as xml returns 400
Request a list of available flavors passing both the accept and
content-type headers as xml and ensure that a bad request exception is
returned.
The following assertions occur:
- The response code is 400
"""
self.flavors_client.default_headers['Accept'] = 'application/xml'
self.flavors_client.default_headers['Content-Type'] = 'application/xml'
with self.assertRaises(BadRequest):
self.flavors_client.list_flavors()
@tags(type='smoke', net='no')
def test_post_request_accept_xml_ignored(self):
"""
@ -151,34 +158,3 @@ class XMLDeprecationTest(ComputeFixture):
with self.assertRaises(BadRequest):
self.servers_client.create_server(
name, self.image_ref, self.flavor_ref)
def _get_flavors_xml_response(self, accept='json', content_type='json'):
"""
A GET request passing accept and content-type headers in given formats
Request a list of available flavors passing the accept and content-type
headers in the given formats and ensure that a response code of 200 is
returned.
The following assertions occur:
- The response code is 200
"""
if accept == 'xml':
self.flavors_client.default_headers['Accept'] = 'application/xml'
else:
self.flavors_client.default_headers['Accept'] = 'application/json'
if content_type == 'xml':
self.flavors_client.default_headers['Content-Type'] = (
'application/xml')
else:
self.flavors_client.default_headers['Content-Type'] = (
'application/json')
response = self.flavors_client.list_flavors()
self.assertEqual(response.status_code, 200,
'Unexpected status code returned. '
'Expected: {0} Received: '
'{1}'.format(200, response.status_code))
return response.content