summaryrefslogtreecommitdiff
path: root/troveclient/tests
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2019-08-25 13:10:29 +1200
committerLingxian Kong <anlin.kong@gmail.com>2019-08-25 23:33:26 +1200
commit982b3f035a3eed4c788c26b7ba5b913782e04961 (patch)
tree705a6718f8ebe46f462bea5b466610f11835d299 /troveclient/tests
parent8e56d90af26f09d2b0848bbe9e677444b8f2ee10 (diff)
downloadpython-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.py46
-rw-r--r--troveclient/tests/test_backups.py20
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