def test_token_issue_with_unscoped_token(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.UNSCOPED_TOKEN, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # DisplayCommandBase.take_action() returns two tuples columns, data = self.cmd.take_action(parsed_args) collist = ( 'expires', 'id', 'user_id', ) self.assertEqual(collist, columns) datalist = ( auth_ref.expires, identity_fakes.token_id, 'user-id', ) self.assertEqual(datalist, data)
def test_token_issue(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.TOKEN, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class ShowOne in cliff, abstract method take_action() # returns a two-part tuple with a tuple of column names and a tuple of # data to be shown. columns, data = self.cmd.take_action(parsed_args) collist = ('expires', 'id', 'project_id', 'user_id') self.assertEqual(collist, columns) datalist = ( auth_ref.expires, identity_fakes.token_id, 'project-id', 'user-id', ) self.assertEqual(datalist, data)
def test_catalog_list(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.TOKEN, fake_service=self.service_catalog, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class Lister in cliff, abstract method take_action() # returns a tuple containing the column names and an iterable # containing the data to be listed. columns, data = self.cmd.take_action(parsed_args) self.assertEqual(self.columns, columns) datalist = (( 'supernova', 'compute', 'one\n publicURL: https://public.one.example.com\n ' 'internalURL: https://internal.one.example.com\n ' 'adminURL: https://admin.one.example.com\n' 'two\n publicURL: https://public.two.example.com\n ' 'internalURL: https://internal.two.example.com\n ' 'adminURL: https://admin.two.example.com\n' '<none>\n publicURL: https://public.none.example.com\n ' 'internalURL: https://internal.none.example.com\n ' 'adminURL: https://admin.none.example.com\n', ), ) self.assertEqual(datalist, tuple(data))
def test_user_role_list_project_unscoped_token(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.UNSCOPED_TOKEN, fake_service=self.fake_service, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock self.projects_mock.get.return_value = self.fake_project arglist = [ '--project', self.fake_project.name, ] verifylist = [ ('project', self.fake_project.name), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class Lister in cliff, abstract method take_action() # returns a tuple containing the column names and an iterable # containing the data to be listed. columns, data = self.cmd.take_action(parsed_args) self.roles_mock.roles_for_user.assert_called_with( self.fake_user.id, self.fake_project.id, ) self.assertEqual(columns, columns) datalist = (( self.fake_role.id, self.fake_role.name, self.fake_project.name, self.fake_user.name, ), ) self.assertEqual(datalist, tuple(data))
def test_user_role_list_no_options_unscoped_token(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.UNSCOPED_TOKEN, fake_service=self.fake_service, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # This argument combination should raise a CommandError self.assertRaises( exceptions.CommandError, self.cmd.take_action, parsed_args, )
def test_catalog_list_with_endpoint_url(self): attr = { 'id': 'qwertyuiop', 'type': 'compute', 'name': 'supernova', 'endpoints': [ { 'region': 'one', 'publicURL': 'https://public.one.example.com', }, { 'region': 'two', 'publicURL': 'https://public.two.example.com', 'internalURL': 'https://internal.two.example.com', }, ], } service_catalog = identity_fakes.FakeCatalog.create_catalog(attr) auth_ref = identity_fakes.fake_auth_ref( identity_fakes.TOKEN, fake_service=service_catalog, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class Lister in cliff, abstract method take_action() # returns a tuple containing the column names and an iterable # containing the data to be listed. columns, data = self.cmd.take_action(parsed_args) self.assertEqual(self.columns, columns) datalist = (('supernova', 'compute', 'one\n publicURL: https://public.one.example.com\n' 'two\n publicURL: https://public.two.example.com\n ' 'internalURL: https://internal.two.example.com\n'), ) self.assertEqual(datalist, tuple(data))
def setUp(self): super(TestRole, self).setUp() # Get a shortcut to the TenantManager Mock self.projects_mock = self.app.client_manager.identity.tenants self.projects_mock.reset_mock() # Get a shortcut to the UserManager Mock self.users_mock = self.app.client_manager.identity.users self.users_mock.reset_mock() # Get a shortcut to the RoleManager Mock self.roles_mock = self.app.client_manager.identity.roles self.roles_mock.reset_mock() auth_ref = identity_fakes.fake_auth_ref( identity_fakes.TOKEN, fake_service=self.fake_service, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock
def test_catalog_show(self): auth_ref = identity_fakes.fake_auth_ref( identity_fakes.UNSCOPED_TOKEN, fake_service=self.service_catalog, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [ 'compute', ] verifylist = [ ('service', 'compute'), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class ShowOne in cliff, abstract method take_action() # returns a two-part tuple with a tuple of column names and a tuple of # data to be shown. columns, data = self.cmd.take_action(parsed_args) collist = ('endpoints', 'id', 'name', 'type') self.assertEqual(collist, columns) datalist = ( 'one\n publicURL: https://public.one.example.com\n ' 'internalURL: https://internal.one.example.com\n ' 'adminURL: https://admin.one.example.com\n' 'two\n publicURL: https://public.two.example.com\n ' 'internalURL: https://internal.two.example.com\n ' 'adminURL: https://admin.two.example.com\n' '<none>\n publicURL: https://public.none.example.com\n ' 'internalURL: https://internal.none.example.com\n ' 'adminURL: https://admin.none.example.com\n', self.service_catalog.id, 'supernova', 'compute', ) self.assertEqual(datalist, data)
def test_token_issue(self): auth_ref = identity_fakes.fake_auth_ref(identity_fakes.TOKEN, ) self.ar_mock = mock.PropertyMock(return_value=auth_ref) type(self.app.client_manager).auth_ref = self.ar_mock arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # In base command class ShowOne in cliff, abstract method take_action() # returns a two-part tuple with a tuple of column names and a tuple of # data to be shown. columns, data = self.cmd.take_action(parsed_args) collist = ('expires', 'id', 'project_id', 'user_id') self.assertEqual(collist, columns) datalist = ( auth_ref.expires, identity_fakes.token_id, 'project-id', 'user-id', ) self.assertEqual(datalist, data)