Merge "allow samples testing for PUT to not have a body"

This commit is contained in:
Jenkins 2016-04-08 09:03:45 +00:00 committed by Gerrit Code Review
commit 4ccef78f65
4 changed files with 10 additions and 4 deletions

View File

@ -76,8 +76,7 @@ class ServerTagsJsonTest(test_servers.ServersSampleBase):
tag = models.Tag()
tag.resource_id = uuid
tag.tag = 'OtherTag'
response = self._do_put('servers/%s/tags/%s' % (uuid, tag.tag),
'server-tags-put-req', {})
response = self._do_put('servers/%s/tags/%s' % (uuid, tag.tag))
self.assertEqual(201, response.status_code)
expected_location = "%s/servers/%s/tags/%s" % (
self._get_vers_compute_endpoint(), uuid, tag.tag)

View File

@ -466,8 +466,15 @@ class ApiSampleTestBase(integrated_helpers._IntegratedTestBase):
self._write_sample(name, body)
return self._get_response(url, method, body, headers=headers)
def _do_put(self, url, name, subs, headers=None):
return self._do_post(url, name, subs, method='PUT', headers=headers)
def _do_put(self, url, name=None, subs=None, headers=None):
# name indicates that we have a body document. While the HTTP
# spec implies that PUT is supposed to have one, we have some
# APIs which don't.
if name:
return self._do_post(
url, name, subs, method='PUT', headers=headers)
else:
return self._get_response(url, 'PUT', headers=headers)
def _do_delete(self, url, headers=None):
return self._get_response(url, 'DELETE', headers=headers)