Merge "Add token delete command for identity v2"
This commit is contained in:
		@@ -18,6 +18,7 @@
 | 
			
		||||
import logging
 | 
			
		||||
import six
 | 
			
		||||
 | 
			
		||||
from cliff import command
 | 
			
		||||
from cliff import show
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -36,3 +37,24 @@ class CreateToken(show.ShowOne):
 | 
			
		||||
        token = identity_client.service_catalog.get_token()
 | 
			
		||||
        token['project_id'] = token.pop('tenant_id')
 | 
			
		||||
        return zip(*sorted(six.iteritems(token)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class DeleteToken(command.Command):
 | 
			
		||||
    """Delete token command"""
 | 
			
		||||
 | 
			
		||||
    log = logging.getLogger(__name__ + '.DeleteToken')
 | 
			
		||||
 | 
			
		||||
    def get_parser(self, prog_name):
 | 
			
		||||
        parser = super(DeleteToken, self).get_parser(prog_name)
 | 
			
		||||
        parser.add_argument(
 | 
			
		||||
            'token',
 | 
			
		||||
            metavar='<token>',
 | 
			
		||||
            help='Token to be deleted',
 | 
			
		||||
        )
 | 
			
		||||
        return parser
 | 
			
		||||
 | 
			
		||||
    def take_action(self, parsed_args):
 | 
			
		||||
        self.log.debug('take_action(%s)' % parsed_args)
 | 
			
		||||
        identity_client = self.app.client_manager.identity
 | 
			
		||||
        identity_client.tokens.delete(parsed_args.token)
 | 
			
		||||
        return
 | 
			
		||||
 
 | 
			
		||||
@@ -130,6 +130,8 @@ class FakeIdentityv2Client(object):
 | 
			
		||||
        self.services.resource_class = fakes.FakeResource(None, {})
 | 
			
		||||
        self.tenants = mock.Mock()
 | 
			
		||||
        self.tenants.resource_class = fakes.FakeResource(None, {})
 | 
			
		||||
        self.tokens = mock.Mock()
 | 
			
		||||
        self.tokens.resource_class = fakes.FakeResource(None, {})
 | 
			
		||||
        self.users = mock.Mock()
 | 
			
		||||
        self.users.resource_class = fakes.FakeResource(None, {})
 | 
			
		||||
        self.ec2 = mock.Mock()
 | 
			
		||||
 
 | 
			
		||||
@@ -54,3 +54,24 @@ class TestTokenCreate(TestToken):
 | 
			
		||||
            identity_fakes.user_id,
 | 
			
		||||
        )
 | 
			
		||||
        self.assertEqual(data, datalist)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestTokenDelete(TestToken):
 | 
			
		||||
 | 
			
		||||
    TOKEN = 'fob'
 | 
			
		||||
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        super(TestTokenDelete, self).setUp()
 | 
			
		||||
        self.tokens_mock = self.app.client_manager.identity.tokens
 | 
			
		||||
        self.tokens_mock.reset_mock()
 | 
			
		||||
        self.tokens_mock.delete.return_value = True
 | 
			
		||||
        self.cmd = token.DeleteToken(self.app, None)
 | 
			
		||||
 | 
			
		||||
    def test_token_create(self):
 | 
			
		||||
        arglist = [self.TOKEN]
 | 
			
		||||
        verifylist = [('token', self.TOKEN)]
 | 
			
		||||
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)
 | 
			
		||||
 | 
			
		||||
        self.cmd.take_action(parsed_args)
 | 
			
		||||
 | 
			
		||||
        self.tokens_mock.delete.assert_called_with(self.TOKEN)
 | 
			
		||||
 
 | 
			
		||||
@@ -153,6 +153,7 @@ openstack.identity.v2_0 =
 | 
			
		||||
    service_show =openstackclient.identity.v2_0.service:ShowService
 | 
			
		||||
 | 
			
		||||
    token_create =openstackclient.identity.v2_0.token:CreateToken
 | 
			
		||||
    token_delete =openstackclient.identity.v2_0.token:DeleteToken
 | 
			
		||||
 | 
			
		||||
    user_role_list = openstackclient.identity.v2_0.role:ListUserRole
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user