File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1818import logging
1919import six
2020
21+ from cliff import command
2122from 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
Original file line number Diff line number Diff 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 ()
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments