diff --git a/keystoneclient/base.py b/keystoneclient/base.py index 500f65820..646394e57 100644 --- a/keystoneclient/base.py +++ b/keystoneclient/base.py @@ -91,7 +91,10 @@ class Manager(object): methods = {"PUT": self.api.put, "POST": self.api.post} try: - resp, body = methods[method](url, body=body) + if body is not None: + resp, body = methods[method](url, body=body) + else: + resp, body = methods[method](url) except KeyError: raise exceptions.ClientException("Invalid update method: %s" % method) diff --git a/tests/v2_0/test_ec2.py b/tests/v2_0/test_ec2.py index 7a1529143..96378e68a 100644 --- a/tests/v2_0/test_ec2.py +++ b/tests/v2_0/test_ec2.py @@ -139,7 +139,7 @@ class EC2Tests(utils.TestCase): user_id = 'usr' access = 'access' resp = httplib2.Response({ - "status": 200, + "status": 204, "body": "", }) diff --git a/tests/v2_0/test_endpoints.py b/tests/v2_0/test_endpoints.py index 7bd813dd8..34406ed60 100644 --- a/tests/v2_0/test_endpoints.py +++ b/tests/v2_0/test_endpoints.py @@ -83,7 +83,7 @@ class EndpointTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ - "status": 200, + "status": 204, "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, diff --git a/tests/v2_0/test_roles.py b/tests/v2_0/test_roles.py index 0d14d0f0b..6b46af4ab 100644 --- a/tests/v2_0/test_roles.py +++ b/tests/v2_0/test_roles.py @@ -66,7 +66,7 @@ class RoleTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ - "status": 200, + "status": 204, "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, @@ -147,62 +147,60 @@ class RoleTests(utils.TestCase): def test_add_user_role(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/users/foo/roles/OS-KSADM/barrr'), 'PUT', - body='null', - headers=self.TEST_POST_HEADERS) \ - .AndReturn((resp, None)) + headers=self.TEST_REQUEST_HEADERS) \ + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.roles.add_user_role('foo', 'barrr') def test_add_user_role_tenant(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'PUT', - body='null', - headers=self.TEST_POST_HEADERS) \ - .AndReturn((resp, None)) + headers=self.TEST_REQUEST_HEADERS) \ + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.roles.add_user_role('foo', 'barrr', '4') def test_remove_user_role(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/users/foo/roles/OS-KSADM/barrr'), 'DELETE', headers=self.TEST_REQUEST_HEADERS) \ - .AndReturn((resp, None)) + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.roles.remove_user_role('foo', 'barrr') def test_remove_user_role_tenant(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'DELETE', headers=self.TEST_REQUEST_HEADERS) \ - .AndReturn((resp, None)) + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.roles.remove_user_role('foo', 'barrr', '4') diff --git a/tests/v2_0/test_tenants.py b/tests/v2_0/test_tenants.py index 78a800f8d..48c67a093 100644 --- a/tests/v2_0/test_tenants.py +++ b/tests/v2_0/test_tenants.py @@ -83,7 +83,7 @@ class TenantTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ - "status": 200, + "status": 204, "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, @@ -260,31 +260,30 @@ class TenantTests(utils.TestCase): def test_add_user(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'PUT', - body='null', - headers=self.TEST_POST_HEADERS) \ - .AndReturn((resp, None)) + headers=self.TEST_REQUEST_HEADERS) \ + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.tenants.add_user('4', 'foo', 'barrr') def test_remove_user(self): resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'DELETE', headers=self.TEST_REQUEST_HEADERS) \ - .AndReturn((resp, None)) + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() self.client.tenants.remove_user('4', 'foo', 'barrr') @@ -299,16 +298,15 @@ class TenantTests(utils.TestCase): }, } resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'PUT', - body='null', - headers=self.TEST_POST_HEADERS) \ - .AndReturn((resp, None)) + headers=self.TEST_REQUEST_HEADERS) \ + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() # make tenant object with manager @@ -327,15 +325,15 @@ class TenantTests(utils.TestCase): }, } resp = httplib2.Response({ - "status": 200, - "body": json.dumps({}), + "status": 204, + "body": '', }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'), 'DELETE', headers=self.TEST_REQUEST_HEADERS) \ - .AndReturn((resp, None)) + .AndReturn((resp, resp['body'])) self.mox.ReplayAll() # make tenant object with manager diff --git a/tests/v2_0/test_tokens.py b/tests/v2_0/test_tokens.py index 4bd5ae2a6..7b55fc09c 100644 --- a/tests/v2_0/test_tokens.py +++ b/tests/v2_0/test_tokens.py @@ -18,7 +18,7 @@ class TokenTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ - "status": 200, + "status": 204, "body": ""}) req = httplib2.Http.request( diff --git a/tests/v2_0/test_users.py b/tests/v2_0/test_users.py index e9c9b4705..702aed78a 100644 --- a/tests/v2_0/test_users.py +++ b/tests/v2_0/test_users.py @@ -82,7 +82,7 @@ class UserTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ - "status": 200, + "status": 204, "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/users/1'),