summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/tests/unit/volume/v1/test_volume.py99
-rw-r--r--openstackclient/volume/v1/volume.py2
2 files changed, 99 insertions, 2 deletions
diff --git a/openstackclient/tests/unit/volume/v1/test_volume.py b/openstackclient/tests/unit/volume/v1/test_volume.py
index 6fe63941..895f1f87 100644
--- a/openstackclient/tests/unit/volume/v1/test_volume.py
+++ b/openstackclient/tests/unit/volume/v1/test_volume.py
@@ -880,3 +880,102 @@ class TestVolumeSet(TestVolume):
self.cmd.take_action(parsed_args)
self.volumes_mock.set_bootable.assert_called_with(
self._volume.id, verifylist[index][0][1])
+
+
+class TestVolumeShow(TestVolume):
+
+ columns = (
+ 'attachments',
+ 'availability_zone',
+ 'bootable',
+ 'created_at',
+ 'display_description',
+ 'display_name',
+ 'id',
+ 'properties',
+ 'size',
+ 'snapshot_id',
+ 'status',
+ 'type',
+ )
+
+ def setUp(self):
+ super(TestVolumeShow, self).setUp()
+ self._volume = volume_fakes.FakeVolume.create_one_volume()
+ self.datalist = (
+ self._volume.attachments,
+ self._volume.availability_zone,
+ self._volume.bootable,
+ self._volume.created_at,
+ self._volume.display_description,
+ self._volume.display_name,
+ self._volume.id,
+ utils.format_dict(self._volume.metadata),
+ self._volume.size,
+ self._volume.snapshot_id,
+ self._volume.status,
+ self._volume.volume_type,
+ )
+ self.volumes_mock.get.return_value = self._volume
+ # Get the command object to test
+ self.cmd = volume.ShowVolume(self.app, None)
+
+ def test_volume_show(self):
+ arglist = [
+ self._volume.id
+ ]
+ verifylist = [
+ ("volume", self._volume.id)
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+ self.volumes_mock.get.assert_called_with(self._volume.id)
+
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.datalist, data)
+
+
+class TestVolumeUnset(TestVolume):
+
+ _volume = volume_fakes.FakeVolume.create_one_volume()
+
+ def setUp(self):
+ super(TestVolumeUnset, self).setUp()
+
+ self.volumes_mock.get.return_value = self._volume
+
+ self.volumes_mock.delete_metadata.return_value = None
+ # Get the command object to test
+ self.cmd = volume.UnsetVolume(self.app, None)
+
+ def test_volume_unset_no_options(self):
+ arglist = [
+ self._volume.display_name,
+ ]
+ verifylist = [
+ ('property', None),
+ ('volume', self._volume.display_name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+ self.assertIsNone(result)
+
+ def test_volume_unset_property(self):
+ arglist = [
+ '--property', 'myprop',
+ self._volume.display_name,
+ ]
+ verifylist = [
+ ('property', ['myprop']),
+ ('volume', self._volume.display_name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.volumes_mock.delete_metadata.assert_called_with(
+ self._volume.id, ['myprop']
+ )
+ self.assertIsNone(result)
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py
index 69bf3803..89fa2014 100644
--- a/openstackclient/volume/v1/volume.py
+++ b/openstackclient/volume/v1/volume.py
@@ -452,10 +452,8 @@ class UnsetVolume(command.Command):
'--property',
metavar='<key>',
action='append',
- default=[],
help=_('Remove a property from volume '
'(repeat option to remove multiple properties)'),
- required=True,
)
return parser