summaryrefslogtreecommitdiff
path: root/troveclient/tests/osc/v1/test_database_backups.py
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2021-02-20 09:51:57 +1300
committerLingxian Kong <anlin.kong@gmail.com>2021-02-21 00:37:08 +1300
commitc7319d8fe8cb6cfd5c423472283aadffb12ed52c (patch)
tree77e269a79927c26cd084f6cdf7e13296d620f0a8 /troveclient/tests/osc/v1/test_database_backups.py
parent4c71809fadc070aa0f1ec3b4082546d4d2cf0d51 (diff)
downloadpython-troveclient-c7319d8fe8cb6cfd5c423472283aadffb12ed52c.tar.gz
Support to restore backup from data locationwallaby-em7.0.0
This feature needs to bump python-troveclient major version as it introduced an incompatible change for backup creation CLI. Change-Id: I6fe94ccb552e2c0020150494ccc2ba6361184229
Diffstat (limited to 'troveclient/tests/osc/v1/test_database_backups.py')
-rw-r--r--troveclient/tests/osc/v1/test_database_backups.py48
1 files changed, 38 insertions, 10 deletions
diff --git a/troveclient/tests/osc/v1/test_database_backups.py b/troveclient/tests/osc/v1/test_database_backups.py
index a23622f..bc67d9d 100644
--- a/troveclient/tests/osc/v1/test_database_backups.py
+++ b/troveclient/tests/osc/v1/test_database_backups.py
@@ -247,39 +247,67 @@ class TestBackupCreate(TestBackups):
)
def test_backup_create_return_value(self):
- args = ['1234', 'bk-1234']
+ args = ['bk-1234', '--instance', self.random_uuid()]
parsed_args = self.check_parser(self.cmd, args, [])
columns, data = self.cmd.take_action(parsed_args)
self.assertEqual(self.columns, columns)
self.assertEqual(self.values, data)
- @mock.patch.object(utils, 'find_resource')
+ @mock.patch('troveclient.utils.get_resource_id_by_name')
def test_backup_create(self, mock_find):
- args = ['1234', 'bk-1234-1']
- mock_find.return_value = args[0]
+ args = ['bk-1234-1', '--instance', '1234']
+ mock_find.return_value = 'fake-instance-id'
parsed_args = self.check_parser(self.cmd, args, [])
self.cmd.take_action(parsed_args)
self.backup_client.create.assert_called_with('bk-1234-1',
- '1234',
+ 'fake-instance-id',
description=None,
parent_id=None,
incremental=False,
swift_container=None)
- @mock.patch.object(utils, 'find_resource')
+ @mock.patch('troveclient.utils.get_resource_id_by_name')
def test_incremental_backup_create(self, mock_find):
- args = ['1234', 'bk-1234-2', '--description', 'backup 1234',
- '--parent', '1234-1', '--incremental']
- mock_find.return_value = args[0]
+ args = ['bk-1234-2', '--instance', '1234', '--description',
+ 'backup 1234', '--parent', '1234-1', '--incremental']
+ mock_find.return_value = 'fake-instance-id'
+
parsed_args = self.check_parser(self.cmd, args, [])
self.cmd.take_action(parsed_args)
+
self.backup_client.create.assert_called_with('bk-1234-2',
- '1234',
+ 'fake-instance-id',
description='backup 1234',
parent_id='1234-1',
incremental=True,
swift_container=None)
+ def test_create_from_data_location(self):
+ name = self.random_name('backup')
+ ds_version = self.random_uuid()
+ args = [name, '--restore-from', 'fake-remote-location',
+ '--restore-datastore-version', ds_version, '--restore-size',
+ '3']
+ parsed_args = self.check_parser(self.cmd, args, [])
+
+ self.cmd.take_action(parsed_args)
+
+ self.backup_client.create.assert_called_with(
+ name,
+ None,
+ restore_from='fake-remote-location',
+ restore_ds_version=ds_version,
+ restore_size=3,
+ )
+
+ def test_required_params_missing(self):
+ args = [self.random_name('backup')]
+ parsed_args = self.check_parser(self.cmd, args, [])
+ self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+
class TestDatabaseBackupExecutionDelete(TestBackups):