summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-06-21 13:20:28 +0000
committerGerrit Code Review <review@openstack.org>2021-06-21 13:20:28 +0000
commita5039e77647051f4c0e4acb9a03b5cda89b5ac02 (patch)
tree3621a4d5da8becaff911da0ac44fb1990c19b583 /openstackclient/tests
parent3f3d8829ce27b8ed62bd61e0a47e708263edcc9c (diff)
parent7f66dfe0e3e8720e847211494c185d7d4983ba5b (diff)
downloadpython-openstackclient-a5039e77647051f4c0e4acb9a03b5cda89b5ac02.tar.gz
Merge "volume: Add more missing 'volume backup *' options"
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/unit/volume/v2/fakes.py3
-rw-r--r--openstackclient/tests/unit/volume/v2/test_volume_backup.py157
2 files changed, 159 insertions, 1 deletions
diff --git a/openstackclient/tests/unit/volume/v2/fakes.py b/openstackclient/tests/unit/volume/v2/fakes.py
index 86778698..b5f66d4b 100644
--- a/openstackclient/tests/unit/volume/v2/fakes.py
+++ b/openstackclient/tests/unit/volume/v2/fakes.py
@@ -17,6 +17,7 @@ import random
from unittest import mock
import uuid
+from cinderclient import api_versions
from osc_lib.cli import format_columns
from openstackclient.tests.unit import fakes
@@ -292,6 +293,8 @@ class FakeVolumeClient(object):
def __init__(self, **kwargs):
self.auth_token = kwargs['token']
self.management_url = kwargs['endpoint']
+ self.api_version = api_versions.APIVersion('2.0')
+
self.availability_zones = mock.Mock()
self.availability_zones.resource_class = fakes.FakeResource(None, {})
self.backups = mock.Mock()
diff --git a/openstackclient/tests/unit/volume/v2/test_volume_backup.py b/openstackclient/tests/unit/volume/v2/test_volume_backup.py
index 7b5a965e..5d57bf60 100644
--- a/openstackclient/tests/unit/volume/v2/test_volume_backup.py
+++ b/openstackclient/tests/unit/volume/v2/test_volume_backup.py
@@ -490,7 +490,9 @@ class TestBackupRestore(TestBackup):
class TestBackupSet(TestBackup):
- backup = volume_fakes.FakeBackup.create_one_backup()
+ backup = volume_fakes.FakeBackup.create_one_backup(
+ attrs={'metadata': {'wow': 'cool'}},
+ )
def setUp(self):
super(TestBackupSet, self).setUp()
@@ -627,6 +629,159 @@ class TestBackupSet(TestBackup):
self.backups_mock.reset_state.assert_called_with(
self.backup.id, 'error')
+ def test_backup_set_no_property(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.43')
+
+ arglist = [
+ '--no-property',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('no_property', True),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'metadata': {},
+ }
+ self.backups_mock.update.assert_called_once_with(
+ self.backup.id,
+ **kwargs
+ )
+ self.assertIsNone(result)
+
+ def test_backup_set_no_property_pre_v343(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.42')
+
+ arglist = [
+ '--no-property',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('no_property', True),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ exc = self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+ self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
+
+ def test_backup_set_property(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.43')
+
+ arglist = [
+ '--property', 'foo=bar',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('properties', {'foo': 'bar'}),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'metadata': {'wow': 'cool', 'foo': 'bar'},
+ }
+ self.backups_mock.update.assert_called_once_with(
+ self.backup.id,
+ **kwargs
+ )
+ self.assertIsNone(result)
+
+ def test_backup_set_property_pre_v343(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.42')
+
+ arglist = [
+ '--property', 'foo=bar',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('properties', {'foo': 'bar'}),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ exc = self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+ self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
+
+
+class TestBackupUnset(TestBackup):
+
+ backup = volume_fakes.FakeBackup.create_one_backup(
+ attrs={'metadata': {'foo': 'bar'}},
+ )
+
+ def setUp(self):
+ super().setUp()
+
+ self.backups_mock.get.return_value = self.backup
+
+ # Get the command object to test
+ self.cmd = volume_backup.UnsetVolumeBackup(self.app, None)
+
+ def test_backup_unset_property(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.43')
+
+ arglist = [
+ '--property', 'foo',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('properties', ['foo']),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ # Set expected values
+ kwargs = {
+ 'metadata': {},
+ }
+ self.backups_mock.update.assert_called_once_with(
+ self.backup.id,
+ **kwargs
+ )
+ self.assertIsNone(result)
+
+ def test_backup_unset_property_pre_v343(self):
+ self.app.client_manager.volume.api_version = \
+ api_versions.APIVersion('3.42')
+
+ arglist = [
+ '--property', 'foo',
+ self.backup.id,
+ ]
+ verifylist = [
+ ('properties', ['foo']),
+ ('backup', self.backup.id),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ exc = self.assertRaises(
+ exceptions.CommandError,
+ self.cmd.take_action,
+ parsed_args)
+ self.assertIn("--os-volume-api-version 3.43 or greater", str(exc))
+
class TestBackupShow(TestBackup):