diff options
author | Lingxian Kong <anlin.kong@gmail.com> | 2019-08-25 13:10:29 +1200 |
---|---|---|
committer | Lingxian Kong <anlin.kong@gmail.com> | 2019-08-25 23:33:26 +1200 |
commit | 982b3f035a3eed4c788c26b7ba5b913782e04961 (patch) | |
tree | 705a6718f8ebe46f462bea5b466610f11835d299 /troveclient/tests | |
parent | 8e56d90af26f09d2b0848bbe9e677444b8f2ee10 (diff) | |
download | python-troveclient-982b3f035a3eed4c788c26b7ba5b913782e04961.tar.gz |
Support backup filtering
To get all the backups of an instance:
openstack database backup list --instance-id <instance-id>
Admin user gets backups of all the projects:
openstack database backup list --all-projects
Story: #2006433
Task: #36346
Change-Id: I871d1ffa27805158024e8ecbe1dceae725c4deac
Diffstat (limited to 'troveclient/tests')
-rw-r--r-- | troveclient/tests/osc/v1/test_database_backups.py | 46 | ||||
-rw-r--r-- | troveclient/tests/test_backups.py | 20 |
2 files changed, 59 insertions, 7 deletions
diff --git a/troveclient/tests/osc/v1/test_database_backups.py b/troveclient/tests/osc/v1/test_database_backups.py index bbcaefe..ef42e3a 100644 --- a/troveclient/tests/osc/v1/test_database_backups.py +++ b/troveclient/tests/osc/v1/test_database_backups.py @@ -32,12 +32,6 @@ class TestBackups(fakes.TestDatabasev1): class TestBackupList(TestBackups): - defaults = { - 'datastore': None, - 'limit': None, - 'marker': None - } - columns = database_backups.ListDatabaseBackups.columns values = ('bk-1234', '1234', 'bkp_1', 'COMPLETED', None, '2015-05-16T14:23:08') @@ -51,10 +45,48 @@ class TestBackupList(TestBackups): def test_backup_list_defaults(self): parsed_args = self.check_parser(self.cmd, [], []) columns, data = self.cmd.take_action(parsed_args) - self.backup_client.list.assert_called_once_with(**self.defaults) + + params = { + 'datastore': None, + 'limit': None, + 'marker': None, + 'instance_id': None, + 'all_projects': False + } + + self.backup_client.list.assert_called_once_with(**params) self.assertEqual(self.columns, columns) self.assertEqual([self.values], data) + def test_backup_list_by_instance_id(self): + parsed_args = self.check_parser(self.cmd, ["--instance-id", "fake_id"], + []) + self.cmd.take_action(parsed_args) + + params = { + 'datastore': None, + 'limit': None, + 'marker': None, + 'instance_id': 'fake_id', + 'all_projects': False + } + + self.backup_client.list.assert_called_once_with(**params) + + def test_backup_list_all_projects(self): + parsed_args = self.check_parser(self.cmd, ["--all-projects"], []) + self.cmd.take_action(parsed_args) + + params = { + 'datastore': None, + 'limit': None, + 'marker': None, + 'instance_id': None, + 'all_projects': True + } + + self.backup_client.list.assert_called_once_with(**params) + class TestBackupListInstance(TestBackups): diff --git a/troveclient/tests/test_backups.py b/troveclient/tests/test_backups.py index 7a0078f..c391030 100644 --- a/troveclient/tests/test_backups.py +++ b/troveclient/tests/test_backups.py @@ -114,6 +114,26 @@ class BackupManagerTest(testtools.TestCase): page_mock.assert_called_with("/backups", "backups", limit, marker, {'datastore': datastore}) + def test_list_by_instance(self): + page_mock = mock.Mock() + self.backups._paginated = page_mock + instance_id = "fake_instance" + + self.backups.list(instance_id=instance_id) + + page_mock.assert_called_with("/backups", "backups", None, None, + {'instance_id': instance_id}) + + def test_list_by_all_projects(self): + page_mock = mock.Mock() + self.backups._paginated = page_mock + all_projects = True + + self.backups.list(all_projects=all_projects) + + page_mock.assert_called_with("/backups", "backups", None, None, + {'all_projects': all_projects}) + def test_get(self): get_mock = mock.Mock() self.backups._get = get_mock |