diff options
author | Zhongyue Luo <lzyeval@gmail.com> | 2012-02-29 11:31:10 +0800 |
---|---|---|
committer | Zhongyue Luo <lzyeval@gmail.com> | 2012-03-17 01:08:58 +0800 |
commit | c8350b7a67248f9ef85ac1df80f124628b14e31d (patch) | |
tree | c7d8e404c791148850e311b1349263f56351298a | |
parent | c10ba52316897607dc37181440622803738ae068 (diff) | |
download | python-keystoneclient-c8350b7a67248f9ef85ac1df80f124628b14e31d.tar.gz |
Backslash continuations (python-keystoneclient)
Fixes bug #940023
Backslash continuations removal for python-keystoneclient
Change-Id: I816fc39ced20bb8ba8a42d3f07a03da94a76f8ea
-rw-r--r-- | keystoneclient/generic/client.py | 8 | ||||
-rw-r--r-- | keystoneclient/generic/shell.py | 8 | ||||
-rw-r--r-- | keystoneclient/shell.py | 2 | ||||
-rw-r--r-- | keystoneclient/utils.py | 4 | ||||
-rw-r--r-- | tests/test_shell.py | 103 | ||||
-rw-r--r-- | tests/v2_0/test_auth.py | 74 | ||||
-rw-r--r-- | tests/v2_0/test_discovery.py | 32 | ||||
-rw-r--r-- | tests/v2_0/test_ec2.py | 85 | ||||
-rw-r--r-- | tests/v2_0/test_endpoints.py | 100 | ||||
-rw-r--r-- | tests/v2_0/test_roles.py | 60 | ||||
-rw-r--r-- | tests/v2_0/test_services.py | 82 | ||||
-rw-r--r-- | tests/v2_0/test_tenants.py | 140 | ||||
-rw-r--r-- | tests/v2_0/test_users.py | 84 | ||||
-rw-r--r-- | tools/install_venv.py | 4 |
14 files changed, 451 insertions, 335 deletions
diff --git a/keystoneclient/generic/client.py b/keystoneclient/generic/client.py index 724c05b..01e4821 100644 --- a/keystoneclient/generic/client.py +++ b/keystoneclient/generic/client.py @@ -107,8 +107,8 @@ class Client(client.HTTPClient): "url": version_url} return results else: - results['message'] = "Unrecognized response from %s" \ - % url + results['message'] = ("Unrecognized response from %s" + % url) return results except KeyError: raise exceptions.AuthorizationFailure() @@ -162,8 +162,8 @@ class Client(client.HTTPClient): results[alias] = name return results else: - results['message'] = "Unrecognized extensions" \ - " response from %s" % url + results['message'] = ("Unrecognized extensions " + "response from %s" % url) return results except KeyError: raise exceptions.AuthorizationFailure() diff --git a/keystoneclient/generic/shell.py b/keystoneclient/generic/shell.py index 52d7d1f..16854f1 100644 --- a/keystoneclient/generic/shell.py +++ b/keystoneclient/generic/shell.py @@ -47,13 +47,13 @@ def do_discover(cs, args): print versions['message'] for key, version in versions.iteritems(): if key != 'message': - print " - supports version %s (%s) here %s" % \ - (version['id'], version['status'], version['url']) + print (" - supports version %s (%s) here %s" % + (version['id'], version['status'], version['url'])) extensions = cs.discover_extensions(version['url']) if extensions: for key, extension in extensions.iteritems(): if key != 'message': - print " - and %s: %s" % \ - (key, extension) + print (" - and %s: %s" % + (key, extension)) else: print "No Keystone-compatible endpoint found" diff --git a/keystoneclient/shell.py b/keystoneclient/shell.py index aaf54c8..f275f8e 100644 --- a/keystoneclient/shell.py +++ b/keystoneclient/shell.py @@ -49,7 +49,7 @@ class OpenStackIdentityShell(object): parser = argparse.ArgumentParser( prog='keystone', description=__doc__.strip(), - epilog='See "keystone help COMMAND" '\ + epilog='See "keystone help COMMAND" ' 'for help on a specific command.', add_help=False, formatter_class=OpenStackHelpFormatter, diff --git a/keystoneclient/utils.py b/keystoneclient/utils.py index 20936f8..082fa7b 100644 --- a/keystoneclient/utils.py +++ b/keystoneclient/utils.py @@ -64,8 +64,8 @@ def find_resource(manager, name_or_id): try: return manager.find(name=name_or_id) except exceptions.NotFound: - msg = "No %s with a name or ID of '%s' exists." % \ - (manager.resource_class.__name__.lower(), name_or_id) + msg = ("No %s with a name or ID of '%s' exists." % + (manager.resource_class.__name__.lower(), name_or_id)) raise exceptions.CommandError(msg) diff --git a/tests/test_shell.py b/tests/test_shell.py index eb4fff2..bf8f086 100644 --- a/tests/test_shell.py +++ b/tests/test_shell.py @@ -54,22 +54,24 @@ class ShellTest(utils.TestCase): shell('user-list') assert do_tenant_mock.called ((a, b), c) = do_tenant_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) shell('--os_auth_url http://0.0.0.0:5000/ --os_password xyzpdq ' '--os_tenant_id 1234 --os_tenant_name fred ' '--os_username barney ' '--os_identity_api_version 2.0 user-list') assert do_tenant_mock.called ((a, b), c) = do_tenant_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - ('http://0.0.0.0:5000/', 'xyzpdq', '1234', - 'fred', 'barney', '2.0') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = ('http://0.0.0.0:5000/', 'xyzpdq', '1234', + 'fred', 'barney', '2.0') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) def test_shell_user_create_args(self): """Test user-create args""" @@ -85,26 +87,30 @@ class ShellTest(utils.TestCase): '--pass=secrete --tenant_id=barrr --enabled=true') assert do_uc_mock.called ((a, b), c) = do_uc_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') - assert (b.tenant_id, b.name, b.passwd, b.enabled) == \ - ('barrr', 'FOO', 'secrete', 'true') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) + actual = (b.tenant_id, b.name, b.passwd, b.enabled) + expect = ('barrr', 'FOO', 'secrete', 'true') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) # Test case with --os_tenant_id and --tenant_id args present shell('--os_tenant_id=os-tenant user-create --name=FOO ' '--pass=secrete --tenant_id=barrr --enabled=true') assert do_uc_mock.called ((a, b), c) = do_uc_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, 'os-tenant', - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') - assert (b.tenant_id, b.name, b.passwd, b.enabled) == \ - ('barrr', 'FOO', 'secrete', 'true') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, 'os-tenant', + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) + actual = (b.tenant_id, b.name, b.passwd, b.enabled) + expect = ('barrr', 'FOO', 'secrete', 'true') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) def test_do_tenant_create(self): do_tenant_mock = mock.MagicMock() @@ -139,24 +145,30 @@ class ShellTest(utils.TestCase): '--tenant_id=ec2-tenant --user=ec2-user') assert do_ec2_mock.called ((a, b), c) = do_ec2_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') - assert (b.tenant_id, b.user) == ('ec2-tenant', 'ec2-user') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) + actual = (b.tenant_id, b.user) + expect = ('ec2-tenant', 'ec2-user') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) # Test case with two --tenant_id args present shell('--os_tenant_id=os-tenant ec2-credentials-create ' '--tenant_id=ec2-tenant --user=ec2-user') assert do_ec2_mock.called ((a, b), c) = do_ec2_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, 'os-tenant', - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') - assert (b.tenant_id, b.user) == ('ec2-tenant', 'ec2-user') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, 'os-tenant', + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) + actual = (b.tenant_id, b.user) + expect = ('ec2-tenant', 'ec2-user') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) def test_do_ec2_get(self): do_shell_mock = mock.MagicMock() @@ -195,11 +207,14 @@ class ShellTest(utils.TestCase): '--adminurl=http://example.com:9876/adm') assert do_shell_mock.called ((a, b), c) = do_shell_mock.call_args - assert (b.os_auth_url, b.os_password, b.os_tenant_id, - b.os_tenant_name, b.os_username, - b.os_identity_api_version) == \ - (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, - DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') - assert (b.service_id, b.publicurl, b.adminurl) == ('2', - 'http://example.com:1234/go', - 'http://example.com:9876/adm') + actual = (b.os_auth_url, b.os_password, b.os_tenant_id, + b.os_tenant_name, b.os_username, + b.os_identity_api_version) + expect = (DEFAULT_AUTH_URL, DEFAULT_PASSWORD, DEFAULT_TENANT_ID, + DEFAULT_TENANT_NAME, DEFAULT_USERNAME, '') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) + actual = (b.service_id, b.publicurl, b.adminurl) + expect = ('2', + 'http://example.com:1234/go', + 'http://example.com:9876/adm') + self.assertTrue(all([x == y for x, y in zip(actual, expect)])) diff --git a/tests/v2_0/test_auth.py b/tests/v2_0/test_auth.py index 8bc4eda..f9f90d4 100644 --- a/tests/v2_0/test_auth.py +++ b/tests/v2_0/test_auth.py @@ -22,41 +22,47 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def setUp(self): super(AuthenticateAgainstKeystoneTests, self).setUp() self.TEST_RESPONSE_DICT = { - "access": { - "token": { - "expires": "12345", - "id": self.TEST_TOKEN, - "tenant": { - "id": self.TEST_TENANT_ID + "access": { + "token": { + "expires": "12345", + "id": self.TEST_TOKEN, + "tenant": { + "id": self.TEST_TENANT_ID }, }, - "user": { - "id": self.TEST_USER + "user": { + "id": self.TEST_USER }, - "serviceCatalog": self.TEST_SERVICE_CATALOG - } + "serviceCatalog": self.TEST_SERVICE_CATALOG, + }, } self.TEST_REQUEST_BODY = { - "auth": { - "passwordCredentials": { - "username": self.TEST_USER, - "password": self.TEST_TOKEN, + "auth": { + "passwordCredentials": { + "username": self.TEST_USER, + "password": self.TEST_TOKEN, }, - "tenantId": self.TEST_TENANT_ID - } + "tenantId": self.TEST_TENANT_ID, + }, } self.TEST_REQUEST_HEADERS = { - 'Content-Type': 'application/json', - 'User-Agent': 'python-keystoneclient' + 'Content-Type': 'application/json', + 'User-Agent': 'python-keystoneclient', } def test_authenticate_failure(self): - self.TEST_REQUEST_BODY['auth']['passwordCredentials']['password'] = \ - 'bad_key' + _auth = 'auth' + _cred = 'passwordCredentials' + _pass = 'password' + self.TEST_REQUEST_BODY[_auth][_cred][_pass] = 'bad_key' resp = httplib2.Response({ "status": 401, - "body": json.dumps({"unauthorized": { - "message": "Unauthorized", "code": "401"}}), + "body": json.dumps({ + "unauthorized": { + "message": "Unauthorized", + "code": "401", + }, + }), }) # Implicit retry on API calls, so it gets called twice @@ -81,15 +87,21 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase): def test_auth_redirect(self): correct_response = json.dumps(self.TEST_RESPONSE_DICT) dict_responses = [ - {"headers": {'location': self.TEST_ADMIN_URL + "/tokens"}, - "status": 305, - "body": "Use proxy"}, - {"headers": {}, - "status": 200, - "body": correct_response} - ] - responses = [(to_http_response(resp), resp['body']) for - resp in dict_responses] + { + "headers": { + 'location': self.TEST_ADMIN_URL + "/tokens", + }, + "status": 305, + "body": "Use proxy", + }, + { + "headers": {}, + "status": 200, + "body": correct_response, + }, + ] + responses = [(to_http_response(resp), resp['body']) + for resp in dict_responses] httplib2.Http.request(self.TEST_URL + "/tokens", 'POST', diff --git a/tests/v2_0/test_discovery.py b/tests/v2_0/test_discovery.py index 0e089ac..75a1be9 100644 --- a/tests/v2_0/test_discovery.py +++ b/tests/v2_0/test_discovery.py @@ -28,38 +28,38 @@ class DiscoverKeystoneTests(utils.UnauthenticatedTestCase): "updated": "2011-11-19T00:00:00Z", "links": [{ "rel": "self", - "href": "http://127.0.0.1:5000/v2.0/" + "href": "http://127.0.0.1:5000/v2.0/", }, { "rel": "describedby", "type": "text/html", - "href": - "http://docs.openstack.org/api/openstack-identity-service/2.0/content/" + "href": "http://docs.openstack.org/api/" + "openstack-identity-service/2.0/content/", }, { "rel": "describedby", "type": "application/pdf", - "href": - "http://docs.openstack.org/api/openstack-identity-service/2.0/\ -identity-dev-guide-2.0.pdf" + "href": "http://docs.openstack.org/api/" + "openstack-identity-service/2.0/" + "identity-dev-guide-2.0.pdf", }, { "rel": "describedby", "type": "application/vnd.sun.wadl+xml", - "href": "http://127.0.0.1:5000/v2.0/identity.wadl" + "href": "http://127.0.0.1:5000/v2.0/identity.wadl", }], "media-types": [{ "base": "application/xml", - "type": - "application/vnd.openstack.identity-v2.0+xml" + "type": "application/" + "vnd.openstack.identity-v2.0+xml", }, { "base": "application/json", - "type": - "application/vnd.openstack.identity-v2.0+json" - }] - }] + "type": "application/" + "vnd.openstack.identity-v2.0+json", + }], + }], + }, } - } self.TEST_REQUEST_HEADERS = { - 'User-Agent': 'python-keystoneclient', - 'Accept': 'application/json' + 'User-Agent': 'python-keystoneclient', + 'Accept': 'application/json', } def test_get_versions(self): diff --git a/tests/v2_0/test_ec2.py b/tests/v2_0/test_ec2.py index f78a81d..e6917de 100644 --- a/tests/v2_0/test_ec2.py +++ b/tests/v2_0/test_ec2.py @@ -10,21 +10,31 @@ from tests import utils class EC2Tests(utils.TestCase): def setUp(self): super(EC2Tests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } def test_create(self): user_id = 'usr' tenant_id = 'tnt' - req_body = {"tenant_id": tenant_id} - resp_body = {"credential": {"access": "access", - "secret": "secret", - "tenant_id": tenant_id, - "created": "12/12/12", - "enabled": True}} + req_body = { + "tenant_id": tenant_id, + } + resp_body = { + "credential": { + "access": "access", + "secret": "secret", + "tenant_id": tenant_id, + "created": "12/12/12", + "enabled": True, + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -49,11 +59,15 @@ class EC2Tests(utils.TestCase): def test_get(self): user_id = 'usr' tenant_id = 'tnt' - resp_body = {"credential": {"access": "access", - "secret": "secret", - "tenant_id": tenant_id, - "created": "12/12/12", - "enabled": True}} + resp_body = { + "credential": { + "access": "access", + "secret": "secret", + "tenant_id": tenant_id, + "created": "12/12/12", + "enabled": True, + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -78,18 +92,26 @@ class EC2Tests(utils.TestCase): def test_list(self): user_id = 'usr' tenant_id = 'tnt' - resp_body = {"credentials": { - "values": [ - {"access": "access", - "secret": "secret", - "tenant_id": tenant_id, - "created": "12/12/12", - "enabled": True}, - {"access": "another", - "secret": "key", - "tenant_id": tenant_id, - "created": "12/12/31", - "enabled": True}]}} + resp_body = { + "credentials": { + "values": [ + { + "access": "access", + "secret": "secret", + "tenant_id": tenant_id, + "created": "12/12/12", + "enabled": True, + }, + { + "access": "another", + "secret": "key", + "tenant_id": tenant_id, + "created": "12/12/31", + "enabled": True, + } + ] + } + } resp = httplib2.Response({ "status": 200, @@ -97,7 +119,7 @@ class EC2Tests(utils.TestCase): }) url = urlparse.urljoin(self.TEST_URL, - 'v2.0/users/%s/credentials/OS-EC2' % user_id) + 'v2.0/users/%s/credentials/OS-EC2' % user_id) httplib2.Http.request(url, 'GET', headers=self.TEST_REQUEST_HEADERS) \ @@ -118,11 +140,12 @@ class EC2Tests(utils.TestCase): access = 'access' resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) url = urlparse.urljoin(self.TEST_URL, - 'v2.0/users/%s/credentials/OS-EC2/%s' % (user_id, access)) + 'v2.0/users/%s/credentials/OS-EC2/%s' % + (user_id, access)) httplib2.Http.request(url, 'DELETE', headers=self.TEST_REQUEST_HEADERS) \ diff --git a/tests/v2_0/test_endpoints.py b/tests/v2_0/test_endpoints.py index 4f8ab88..0c071c3 100644 --- a/tests/v2_0/test_endpoints.py +++ b/tests/v2_0/test_endpoints.py @@ -10,58 +10,54 @@ from tests import utils class EndpointTests(utils.TestCase): def setUp(self): super(EndpointTests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_ENDPOINTS = {'endpoints': [ - { - 'adminurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'id': - '8f9531231e044e218824b0e58688d262', - 'internalurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'publicurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'region': - 'RegionOne' - }, - { - 'adminurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'id': - '8f9531231e044e218824b0e58688d263', - 'internalurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'publicurl': - 'http://host-1:8774/v1.1/$(tenant_id)s', - 'region': - 'RegionOne' - } - ] - } + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_ENDPOINTS = { + 'endpoints': [ + { + 'adminurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'id': '8f9531231e044e218824b0e58688d262', + 'internalurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'publicurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'region': 'RegionOne', + }, + { + 'adminurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'id': '8f9531231e044e218824b0e58688d263', + 'internalurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'publicurl': 'http://host-1:8774/v1.1/$(tenant_id)s', + 'region': 'RegionOne', + } + ] + } def test_create(self): - req_body = {"endpoint": {"region": "RegionOne", - "publicurl": - "http://host-3:8774/v1.1/$(tenant_id)s", - "internalurl": - "http://host-3:8774/v1.1/$(tenant_id)s", - "adminurl": - "http://host-3:8774/v1.1/$(tenant_id)s", - "service_id": "e044e21"}} + req_body = { + "endpoint": { + "region": "RegionOne", + "publicurl": "http://host-3:8774/v1.1/$(tenant_id)s", + "internalurl": "http://host-3:8774/v1.1/$(tenant_id)s", + "adminurl": "http://host-3:8774/v1.1/$(tenant_id)s", + "service_id": "e044e21", + } + } - resp_body = {"endpoint": { - "adminurl": - "http://host-3:8774/v1.1/$(tenant_id)s", - "region": "RegionOne", - "id": "1fd485b2ffd54f409a5ecd42cba11401", - "internalurl": - "http://host-3:8774/v1.1/$(tenant_id)s", - "publicurl": - "http://host-3:8774/v1.1/$(tenant_id)s"}} + resp_body = { + "endpoint": { + "adminurl": "http://host-3:8774/v1.1/$(tenant_id)s", + "region": "RegionOne", + "id": "1fd485b2ffd54f409a5ecd42cba11401", + "internalurl": "http://host-3:8774/v1.1/$(tenant_id)s", + "publicurl": "http://host-3:8774/v1.1/$(tenant_id)s", + } + } resp = httplib2.Response({ "status": 200, @@ -88,7 +84,7 @@ class EndpointTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/endpoints/8f953'), @@ -113,5 +109,5 @@ class EndpointTests(utils.TestCase): self.mox.ReplayAll() endpoint_list = self.client.endpoints.list() - [self.assertTrue(isinstance(r, endpoints.Endpoint)) \ - for r in endpoint_list] + [self.assertTrue(isinstance(r, endpoints.Endpoint)) + for r in endpoint_list] diff --git a/tests/v2_0/test_roles.py b/tests/v2_0/test_roles.py index 46ccba1..558467a 100644 --- a/tests/v2_0/test_roles.py +++ b/tests/v2_0/test_roles.py @@ -10,29 +10,42 @@ from tests import utils class RoleTests(utils.TestCase): def setUp(self): super(RoleTests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } self.TEST_ROLES = { - "roles": { - "values": [ - { - "name": "admin", - "id": 1 - }, - { - "name": "member", - "id": 2 - } - ] - } - } + "roles": { + "values": [ + { + "name": "admin", + "id": 1, + }, + { + "name": "member", + "id": 2, + } + ], + }, + } def test_create(self): - req_body = {"role": {"name": "sysadmin"}} - resp_body = {"role": {"name": "sysadmin", "id": 3}} + req_body = { + "role": { + "name": "sysadmin", + } + } + resp_body = { + "role": { + "name": "sysadmin", + "id": 3, + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -54,7 +67,7 @@ class RoleTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/OS-KSADM/roles/1'), @@ -68,8 +81,9 @@ class RoleTests(utils.TestCase): def test_get(self): resp = httplib2.Response({ "status": 200, - "body": json.dumps({'role': - self.TEST_ROLES['roles']['values'][0]}), + "body": json.dumps({ + 'role': self.TEST_ROLES['roles']['values'][0], + }), }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/OS-KSADM/roles/1'), diff --git a/tests/v2_0/test_services.py b/tests/v2_0/test_services.py index f9f443b..a9f4c0b 100644 --- a/tests/v2_0/test_services.py +++ b/tests/v2_0/test_services.py @@ -10,38 +10,50 @@ from tests import utils class ServiceTests(utils.TestCase): def setUp(self): super(ServiceTests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_SERVICES = {"OS-KSADM:services": { - "values": [ - { - "name": "nova", - "type": "compute", - "description": "Nova-compatible service.", - "id": 1 - }, - { - "name": "keystone", - "type": "identity", - "description": ("Keystone-compatible " - "service."), - "id": 2 - } - ] - } - } + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_SERVICES = { + "OS-KSADM:services": { + "values": [ + { + "name": "nova", + "type": "compute", + "description": "Nova-compatible service.", + "id": 1 + }, + { + "name": "keystone", + "type": "identity", + "description": "Keystone-compatible service.", + "id": 2 + }, + ], + }, + } def test_create(self): - req_body = {"OS-KSADM:service": {"name": "swift", - "type": "object-store", - "description": "Swift-compatible service."}} - resp_body = {"OS-KSADM:service": {"name": "swift", - "type": "object-store", - "description": "Swift-compatible service.", - "id": 3}} + req_body = { + "OS-KSADM:service": { + "name": "swift", + "type": "object-store", + "description": "Swift-compatible service.", + } + } + resp_body = { + "OS-KSADM:service": { + "name": "swift", + "type": "object-store", + "description": "Swift-compatible service.", + "id": 3, + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -66,7 +78,7 @@ class ServiceTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/OS-KSADM/services/1'), @@ -78,10 +90,10 @@ class ServiceTests(utils.TestCase): self.client.services.delete(1) def test_get(self): + test_services = self.TEST_SERVICES['OS-KSADM:services']['values'][0] resp = httplib2.Response({ "status": 200, - "body": json.dumps({'OS-KSADM:service': - self.TEST_SERVICES['OS-KSADM:services']['values'][0]}), + "body": json.dumps({'OS-KSADM:service': test_services}), }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/OS-KSADM/services/1'), @@ -110,5 +122,5 @@ class ServiceTests(utils.TestCase): self.mox.ReplayAll() service_list = self.client.services.list() - [self.assertTrue(isinstance(r, services.Service)) \ - for r in service_list] + [self.assertTrue(isinstance(r, services.Service)) + for r in service_list] diff --git a/tests/v2_0/test_tenants.py b/tests/v2_0/test_tenants.py index ee0c3df..0c573da 100644 --- a/tests/v2_0/test_tenants.py +++ b/tests/v2_0/test_tenants.py @@ -10,44 +10,57 @@ from tests import utils class TenantTests(utils.TestCase): def setUp(self): super(TenantTests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_TENANTS = {"tenants": { - "values": [ - { - "enabled": True, - "description": "A description change!", - "name": "invisible_to_admin", - "id": 3 - }, - { - "enabled": True, - "description": "None", - "name": "demo", - "id": 2 - }, - { - "enabled": True, - "description": "None", - "name": "admin", - "id": 1 - } - ], - "links": [] - } - } + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_TENANTS = { + "tenants": { + "values": [ + { + "enabled": True, + "description": "A description change!", + "name": "invisible_to_admin", + "id": 3, + }, + { + "enabled": True, + "description": "None", + "name": "demo", + "id": 2, + }, + { + "enabled": True, + "description": "None", + "name": "admin", + "id": 1, + } + ], + "links": [], + }, + } def test_create(self): - req_body = {"tenant": {"name": "tenantX", - "description": "Like tenant 9, but better.", - "enabled": True}} - resp_body = {"tenant": {"name": "tenantX", - "enabled": True, - "id": 4, - "description": "Like tenant 9, but better."}} + req_body = { + "tenant": { + "name": "tenantX", + "description": "Like tenant 9, but better.", + "enabled": True + }, + } + resp_body = { + "tenant": { + "name": "tenantX", + "enabled": True, + "id": 4, + "description": "Like tenant 9, but better.", + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -71,7 +84,7 @@ class TenantTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/1'), @@ -85,8 +98,9 @@ class TenantTests(utils.TestCase): def test_get(self): resp = httplib2.Response({ "status": 200, - "body": json.dumps({'tenant': - self.TEST_TENANTS['tenants']['values'][2]}), + "body": json.dumps({ + 'tenant': self.TEST_TENANTS['tenants']['values'][2], + }), }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/tenants/1'), @@ -165,14 +179,22 @@ class TenantTests(utils.TestCase): [self.assertTrue(isinstance(t, tenants.Tenant)) for t in tenant_list] def test_update(self): - req_body = {"tenant": {"id": 4, - "name": "tenantX", - "description": "I changed you!", - "enabled": False}} - resp_body = {"tenant": {"name": "tenantX", - "enabled": False, - "id": 4, - "description": "I changed you!"}} + req_body = { + "tenant": { + "id": 4, + "name": "tenantX", + "description": "I changed you!", + "enabled": False, + }, + } + resp_body = { + "tenant": { + "name": "tenantX", + "enabled": False, + "id": 4, + "description": "I changed you!", + }, + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -228,10 +250,14 @@ class TenantTests(utils.TestCase): self.client.tenants.remove_user('4', 'foo', 'barrr') def test_tenant_add_user(self): - req_body = {"tenant": {"id": 4, - "name": "tenantX", - "description": "I changed you!", - "enabled": False}} + req_body = { + "tenant": { + "id": 4, + "name": "tenantX", + "description": "I changed you!", + "enabled": False, + }, + } resp = httplib2.Response({ "status": 200, "body": json.dumps({}), @@ -252,10 +278,14 @@ class TenantTests(utils.TestCase): self.assertTrue(isinstance(tenant, tenants.Tenant)) def test_tenant_remove_user(self): - req_body = {"tenant": {"id": 4, - "name": "tenantX", - "description": "I changed you!", - "enabled": False}} + req_body = { + "tenant": { + "id": 4, + "name": "tenantX", + "description": "I changed you!", + "enabled": False, + }, + } resp = httplib2.Response({ "status": 200, "body": json.dumps({}), diff --git a/tests/v2_0/test_users.py b/tests/v2_0/test_users.py index 48f0f45..d894b92 100644 --- a/tests/v2_0/test_users.py +++ b/tests/v2_0/test_users.py @@ -10,42 +10,54 @@ from tests import utils class UserTests(utils.TestCase): def setUp(self): super(UserTests, self).setUp() - self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} - self.TEST_POST_HEADERS = {'Content-Type': 'application/json', - 'X-Auth-Token': 'aToken', - 'User-Agent': 'python-keystoneclient'} + self.TEST_REQUEST_HEADERS = { + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } + self.TEST_POST_HEADERS = { + 'Content-Type': 'application/json', + 'X-Auth-Token': 'aToken', + 'User-Agent': 'python-keystoneclient', + } self.TEST_USERS = { - "users": { - "values": [ - { - "email": "None", - "enabled": True, - "id": 1, - "name": "admin" - }, - { - "email": "None", - "enabled": True, - "id": 2, - "name": "demo" - }, - ] - } - } + "users": { + "values": [ + { + "email": "None", + "enabled": True, + "id": 1, + "name": "admin", + }, + { + "email": "None", + "enabled": True, + "id": 2, + "name": "demo", + }, + ] + } + } def test_create(self): - req_body = {"user": {"name": "gabriel", - "password": "test", - "tenantId": 2, - "email": "test@example.com", - "enabled": True}} - resp_body = {"user": {"name": "gabriel", - "enabled": True, - "tenantId": 2, - "id": 3, - "password": "test", - "email": "test@example.com"}} + req_body = { + "user": { + "name": "gabriel", + "password": "test", + "tenantId": 2, + "email": "test@example.com", + "enabled": True, + } + } + resp_body = { + "user": { + "name": "gabriel", + "enabled": True, + "tenantId": 2, + "id": 3, + "password": "test", + "email": "test@example.com", + } + } resp = httplib2.Response({ "status": 200, "body": json.dumps(resp_body), @@ -71,7 +83,7 @@ class UserTests(utils.TestCase): def test_delete(self): resp = httplib2.Response({ "status": 200, - "body": "" + "body": "", }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/users/1'), 'DELETE', @@ -84,7 +96,9 @@ class UserTests(utils.TestCase): def test_get(self): resp = httplib2.Response({ "status": 200, - "body": json.dumps({'user': self.TEST_USERS['users']['values'][0]}) + "body": json.dumps({ + 'user': self.TEST_USERS['users']['values'][0], + }) }) httplib2.Http.request(urlparse.urljoin(self.TEST_URL, 'v2.0/users/1'), diff --git a/tools/install_venv.py b/tools/install_venv.py index 0b1d843..e7859d4 100644 --- a/tools/install_venv.py +++ b/tools/install_venv.py @@ -144,8 +144,8 @@ class Fedora(Distro): def get_distro(): - if os.path.exists('/etc/fedora-release') or \ - os.path.exists('/etc/redhat-release'): + if (os.path.exists('/etc/fedora-release') or + os.path.exists('/etc/redhat-release')): return Fedora() elif os.path.exists('/etc/debian_version'): return Debian() |