summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2014-10-10 14:17:11 -0400
committerSteve Martinelli <stevemar@ca.ibm.com>2014-10-11 20:34:09 -0400
commit1b3c7ec122504a41dc35aaf3f0693c9e20015df8 (patch)
treeb4c2b6b74caf4ccae256491ca73920f9be1da54b
parent0c77a9fe8baa4df9ea2d0055db9c700af3cae310 (diff)
downloadpython-openstackclient-1b3c7ec122504a41dc35aaf3f0693c9e20015df8.tar.gz
Fix issue token for v3
Currently the code is broken as it references a part of keystoneclient that does not exist. Change-Id: I7fbc754537fbb4acffb166b5854840acfaef1fb8 Closes-Bug: #1379871
-rw-r--r--functional/tests/test_identity.py6
-rw-r--r--openstackclient/identity/v3/token.py4
-rw-r--r--openstackclient/tests/identity/v3/fakes.py4
-rw-r--r--openstackclient/tests/identity/v3/test_token.py3
4 files changed, 13 insertions, 4 deletions
diff --git a/functional/tests/test_identity.py b/functional/tests/test_identity.py
index cdb0ed34..c5779a20 100644
--- a/functional/tests/test_identity.py
+++ b/functional/tests/test_identity.py
@@ -76,6 +76,7 @@ class IdentityV3Tests(test.TestCase):
DOMAIN_FIELDS = ['description', 'enabled', 'id', 'name', 'links']
GROUP_FIELDS = ['description', 'domain_id', 'id', 'name', 'links']
+ TOKEN_FIELDS = ['expires', 'id', 'project_id', 'user_id']
def _create_dummy_group(self):
name = uuid.uuid4().hex
@@ -139,3 +140,8 @@ class IdentityV3Tests(test.TestCase):
raw_output = self.openstack('domain show ' + name)
items = self.parse_show(raw_output)
self.assert_show_fields(items, self.DOMAIN_FIELDS)
+
+ def test_token_issue(self):
+ raw_output = self.openstack('token issue')
+ items = self.parse_show(raw_output)
+ self.assert_show_fields(items, self.TOKEN_FIELDS)
diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py
index 52ed439f..aca5c669 100644
--- a/openstackclient/identity/v3/token.py
+++ b/openstackclient/identity/v3/token.py
@@ -159,9 +159,9 @@ class IssueToken(show.ShowOne):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)', parsed_args)
- identity_client = self.app.client_manager.identity
+ session = self.app.client_manager.identity.session
- token = identity_client.service_catalog.get_token()
+ token = session.auth.auth_ref.service_catalog.get_token()
if 'tenant_id' in token:
token['project_id'] = token.pop('tenant_id')
return zip(*sorted(six.iteritems(token)))
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py
index b0df16f0..1ca1c55d 100644
--- a/openstackclient/tests/identity/v3/fakes.py
+++ b/openstackclient/tests/identity/v3/fakes.py
@@ -292,7 +292,9 @@ class FakeIdentityv3Client(object):
self.roles.resource_class = fakes.FakeResource(None, {})
self.services = mock.Mock()
self.services.resource_class = fakes.FakeResource(None, {})
- self.service_catalog = mock.Mock()
+ self.session = mock.Mock()
+ self.session.auth.auth_ref.service_catalog.resource_class = \
+ fakes.FakeResource(None, {})
self.users = mock.Mock()
self.users.resource_class = fakes.FakeResource(None, {})
self.role_assignments = mock.Mock()
diff --git a/openstackclient/tests/identity/v3/test_token.py b/openstackclient/tests/identity/v3/test_token.py
index 8888b931..dbe85555 100644
--- a/openstackclient/tests/identity/v3/test_token.py
+++ b/openstackclient/tests/identity/v3/test_token.py
@@ -23,7 +23,8 @@ class TestToken(identity_fakes.TestIdentityv3):
super(TestToken, self).setUp()
# Get a shortcut to the Service Catalog Mock
- self.sc_mock = self.app.client_manager.identity.service_catalog
+ session = self.app.client_manager.identity.session
+ self.sc_mock = session.auth.auth_ref.service_catalog
self.sc_mock.reset_mock()