Get backup list by instance ID or name
Change-Id: I97d3fcfa2935f76cb8753734fec6dab8669e732a
This commit is contained in:
parent
e41d08d243
commit
cd68986948
troveclient
@ -66,7 +66,14 @@ class ListDatabaseBackups(command.Lister):
|
||||
parser.add_argument(
|
||||
'--instance-id',
|
||||
default=None,
|
||||
help=_('Filter backups by database instance ID.')
|
||||
help=_('Filter backups by database instance ID. Deprecated since '
|
||||
'Xena. Use -i/--instance instead.')
|
||||
)
|
||||
parser.add_argument(
|
||||
'-i',
|
||||
'--instance',
|
||||
default=None,
|
||||
help=_('Filter backups by database instance(ID or name).')
|
||||
)
|
||||
parser.add_argument(
|
||||
'--all-projects',
|
||||
@ -82,12 +89,20 @@ class ListDatabaseBackups(command.Lister):
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
database_backups = self.app.client_manager.database.backups
|
||||
|
||||
instance_id = parsed_args.instance or parsed_args.instance_id
|
||||
if instance_id:
|
||||
instance_mgr = self.app.client_manager.database.instances
|
||||
instance_id = trove_utils.get_resource_id(instance_mgr,
|
||||
instance_id)
|
||||
|
||||
items = database_backups.list(limit=parsed_args.limit,
|
||||
datastore=parsed_args.datastore,
|
||||
marker=parsed_args.marker,
|
||||
instance_id=parsed_args.instance_id,
|
||||
instance_id=instance_id,
|
||||
all_projects=parsed_args.all_projects,
|
||||
project_id=parsed_args.project_id)
|
||||
|
||||
backups = items
|
||||
while items.next and not parsed_args.limit:
|
||||
items = database_backups.list(
|
||||
|
@ -60,7 +60,10 @@ class TestBackupList(TestBackups):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual([self.values], data)
|
||||
|
||||
def test_backup_list_by_instance_id(self):
|
||||
@mock.patch('troveclient.utils.get_resource_id')
|
||||
def test_backup_list_by_instance_id(self, get_resource_id_mock):
|
||||
get_resource_id_mock.return_value = 'fake_uuid'
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, ["--instance-id", "fake_id"],
|
||||
[])
|
||||
self.cmd.take_action(parsed_args)
|
||||
@ -69,13 +72,34 @@ class TestBackupList(TestBackups):
|
||||
'datastore': None,
|
||||
'limit': None,
|
||||
'marker': None,
|
||||
'instance_id': 'fake_id',
|
||||
'instance_id': 'fake_uuid',
|
||||
'all_projects': False,
|
||||
'project_id': None
|
||||
}
|
||||
|
||||
self.backup_client.list.assert_called_once_with(**params)
|
||||
|
||||
@mock.patch('troveclient.utils.get_resource_id')
|
||||
def test_backup_list_by_instance_name(self, get_resource_id_mock):
|
||||
get_resource_id_mock.return_value = 'fake_uuid'
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, ["--instance", "fake_name"],
|
||||
[])
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
params = {
|
||||
'datastore': None,
|
||||
'limit': None,
|
||||
'marker': None,
|
||||
'instance_id': 'fake_uuid',
|
||||
'all_projects': False,
|
||||
'project_id': None
|
||||
}
|
||||
|
||||
self.backup_client.list.assert_called_once_with(**params)
|
||||
get_resource_id_mock.assert_called_once_with(self.instance_client,
|
||||
'fake_name')
|
||||
|
||||
def test_backup_list_all_projects(self):
|
||||
parsed_args = self.check_parser(self.cmd, ["--all-projects"], [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
Loading…
x
Reference in New Issue
Block a user