Merge "Make OSC user list and show support instance name"

This commit is contained in:
Zuul 2017-12-27 01:07:36 +00:00 committed by Gerrit Code Review
commit 53b119e70d
2 changed files with 18 additions and 8 deletions

View File

@ -78,13 +78,16 @@ class ListDatabaseUsers(command.Lister):
parser.add_argument(
dest='instance',
metavar='<instance>',
help=_('ID of the instance.')
help=_('ID or name of the instance.')
)
return parser
def take_action(self, parsed_args):
db_users = self.app.client_manager.database.users
items = db_users.list(parsed_args.instance)
manager = self.app.client_manager.database
db_users = manager.users
instance = utils.find_resource(manager.instances,
parsed_args.instance)
items = db_users.list(instance)
users = items
while (items.next):
items = db_users.list(parsed_args.instance, marker=items.next)
@ -105,7 +108,7 @@ class ShowDatabaseUser(command.ShowOne):
parser.add_argument(
'instance',
metavar='<instance>',
help=_('ID of the instance.'),
help=_('ID or name of the instance.'),
)
parser.add_argument(
'name',
@ -120,8 +123,11 @@ class ShowDatabaseUser(command.ShowOne):
return parser
def take_action(self, parsed_args):
db_users = self.app.client_manager.database.users
user = db_users.get(parsed_args.instance, parsed_args.name,
manager = self.app.client_manager.database
db_users = manager.users
instance = utils.find_resource(manager.instances,
parsed_args.instance)
user = db_users.get(instance, parsed_args.name,
hostname=parsed_args.host)
return zip(*sorted(six.iteritems(user._info)))

View File

@ -68,8 +68,10 @@ class TestUserList(TestUsers):
data = [self.fake_users.get_instances_1234_users_harry()]
self.user_client.list.return_value = common.Paginated(data)
def test_user_list_defaults(self):
@mock.patch.object(utils, 'find_resource')
def test_user_list_defaults(self, mock_find):
args = ['my_instance']
mock_find.return_value = args[0]
parsed_args = self.check_parser(self.cmd, args, [])
columns, data = self.cmd.take_action(parsed_args)
self.user_client.list.assert_called_once_with(*args)
@ -91,8 +93,10 @@ class TestUserShow(TestUsers):
'name',
)
def test_user_show_defaults(self):
@mock.patch.object(utils, 'find_resource')
def test_user_show_defaults(self, mock_find):
args = ['my_instance', 'harry']
mock_find.return_value = args[0]
parsed_args = self.check_parser(self.cmd, args, [])
columns, data = self.cmd.take_action(parsed_args)
self.assertEqual(self.columns, columns)