Skip to content

Commit 1f2189d

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add token delete command for identity v2"
2 parents 0b2987f + d6321c0 commit 1f2189d

4 files changed

Lines changed: 46 additions & 0 deletions

File tree

‎openstackclient/identity/v2_0/token.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import logging
1919
import six
2020

21+
from cliff import command
2122
from cliff import show
2223

2324

@@ -36,3 +37,24 @@ def take_action(self, parsed_args):
3637
token = identity_client.service_catalog.get_token()
3738
token['project_id'] = token.pop('tenant_id')
3839
return zip(*sorted(six.iteritems(token)))
40+
41+
42+
class DeleteToken(command.Command):
43+
"""Delete token command"""
44+
45+
log = logging.getLogger(__name__ + '.DeleteToken')
46+
47+
def get_parser(self, prog_name):
48+
parser = super(DeleteToken, self).get_parser(prog_name)
49+
parser.add_argument(
50+
'token',
51+
metavar='<token>',
52+
help='Token to be deleted',
53+
)
54+
return parser
55+
56+
def take_action(self, parsed_args):
57+
self.log.debug('take_action(%s)' % parsed_args)
58+
identity_client = self.app.client_manager.identity
59+
identity_client.tokens.delete(parsed_args.token)
60+
return

‎openstackclient/tests/identity/v2_0/fakes.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ def __init__(self, **kwargs):
130130
self.services.resource_class = fakes.FakeResource(None, {})
131131
self.tenants = mock.Mock()
132132
self.tenants.resource_class = fakes.FakeResource(None, {})
133+
self.tokens = mock.Mock()
134+
self.tokens.resource_class = fakes.FakeResource(None, {})
133135
self.users = mock.Mock()
134136
self.users.resource_class = fakes.FakeResource(None, {})
135137
self.ec2 = mock.Mock()

‎openstackclient/tests/identity/v2_0/test_token.py‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,24 @@ def test_token_create(self):
5454
identity_fakes.user_id,
5555
)
5656
self.assertEqual(data, datalist)
57+
58+
59+
class TestTokenDelete(TestToken):
60+
61+
TOKEN = 'fob'
62+
63+
def setUp(self):
64+
super(TestTokenDelete, self).setUp()
65+
self.tokens_mock = self.app.client_manager.identity.tokens
66+
self.tokens_mock.reset_mock()
67+
self.tokens_mock.delete.return_value = True
68+
self.cmd = token.DeleteToken(self.app, None)
69+
70+
def test_token_create(self):
71+
arglist = [self.TOKEN]
72+
verifylist = [('token', self.TOKEN)]
73+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
74+
75+
self.cmd.take_action(parsed_args)
76+
77+
self.tokens_mock.delete.assert_called_with(self.TOKEN)

‎setup.cfg‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ openstack.identity.v2_0 =
153153
service_show =openstackclient.identity.v2_0.service:ShowService
154154

155155
token_create =openstackclient.identity.v2_0.token:CreateToken
156+
token_delete =openstackclient.identity.v2_0.token:DeleteToken
156157

157158
user_role_list = openstackclient.identity.v2_0.role:ListUserRole
158159

0 commit comments

Comments
 (0)