diff options
| author | Zuul <zuul@review.openstack.org> | 2017-10-21 00:40:48 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-10-21 00:40:48 +0000 |
| commit | 3abba6ede9ea01fbdfc94a13e3252b7b98d56c34 (patch) | |
| tree | 269d00d8534cd0d0e00dbecfa637d7737542f817 /openstackclient | |
| parent | 161c79f7037364d6e69e43f1d0a9c605b96ebb88 (diff) | |
| parent | 4464109c7754a9287f75ec2af84398700d1450e6 (diff) | |
| download | python-openstackclient-3abba6ede9ea01fbdfc94a13e3252b7b98d56c34.tar.gz | |
Merge "Accept 0 for --min-disk and --min-ram"
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/image/v1/image.py | 6 | ||||
| -rw-r--r-- | openstackclient/image/v2/image.py | 4 | ||||
| -rw-r--r-- | openstackclient/tests/unit/image/v1/test_image.py | 26 | ||||
| -rw-r--r-- | openstackclient/tests/unit/image/v2/test_image.py | 26 |
4 files changed, 58 insertions, 4 deletions
diff --git a/openstackclient/image/v1/image.py b/openstackclient/image/v1/image.py index b92da8ce..7a8e67bf 100644 --- a/openstackclient/image/v1/image.py +++ b/openstackclient/image/v1/image.py @@ -625,11 +625,11 @@ class SetImage(command.Command): kwargs = {} copy_attrs = ('name', 'owner', 'min_disk', 'min_ram', 'properties', 'container_format', 'disk_format', 'size', 'store', - 'location', 'copy_from', 'volume', 'force', 'checksum') + 'location', 'copy_from', 'volume', 'checksum') for attr in copy_attrs: if attr in parsed_args: val = getattr(parsed_args, attr, None) - if val: + if val is not None: # Only include a value in kwargs for attributes that are # actually present on the command line kwargs[attr] = val @@ -653,6 +653,8 @@ class SetImage(command.Command): kwargs['is_public'] = True if parsed_args.private: kwargs['is_public'] = False + if parsed_args.force: + kwargs['force'] = True # Wrap the call to catch exceptions in order to close files try: diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index a2e45fc7..d793c459 100644 --- a/openstackclient/image/v2/image.py +++ b/openstackclient/image/v2/image.py @@ -749,7 +749,7 @@ class SetImage(command.Command): "--tag", dest="tags", metavar="<tag>", - default=[], + default=None, action='append', help=_("Set a tag on this image " "(repeat option to set multiple tags)"), @@ -860,7 +860,7 @@ class SetImage(command.Command): for attr in copy_attrs: if attr in parsed_args: val = getattr(parsed_args, attr, None) - if val: + if val is not None: # Only include a value in kwargs for attributes that are # actually present on the command line kwargs[attr] = val diff --git a/openstackclient/tests/unit/image/v1/test_image.py b/openstackclient/tests/unit/image/v1/test_image.py index 8a83feb0..ae578d91 100644 --- a/openstackclient/tests/unit/image/v1/test_image.py +++ b/openstackclient/tests/unit/image/v1/test_image.py @@ -689,6 +689,32 @@ class TestImageSet(TestImage): ) self.assertIsNone(result) + def test_image_set_numeric_options_to_zero(self): + arglist = [ + '--min-disk', '0', + '--min-ram', '0', + self._image.name, + ] + verifylist = [ + ('min_disk', 0), + ('min_ram', 0), + ('image', self._image.name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + kwargs = { + 'min_disk': 0, + 'min_ram': 0, + } + # ImageManager.update(image, **kwargs) + self.images_mock.update.assert_called_with( + self._image.id, + **kwargs + ) + self.assertIsNone(result) + class TestImageShow(TestImage): diff --git a/openstackclient/tests/unit/image/v2/test_image.py b/openstackclient/tests/unit/image/v2/test_image.py index 429ddd28..383619ef 100644 --- a/openstackclient/tests/unit/image/v2/test_image.py +++ b/openstackclient/tests/unit/image/v2/test_image.py @@ -1313,6 +1313,32 @@ class TestImageSet(TestImage): exceptions.CommandError, self.cmd.take_action, parsed_args) + def test_image_set_numeric_options_to_zero(self): + arglist = [ + '--min-disk', '0', + '--min-ram', '0', + image_fakes.image_name, + ] + verifylist = [ + ('min_disk', 0), + ('min_ram', 0), + ('image', image_fakes.image_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.take_action(parsed_args) + + kwargs = { + 'min_disk': 0, + 'min_ram': 0, + } + # ImageManager.update(image, **kwargs) + self.images_mock.update.assert_called_with( + image_fakes.image_id, + **kwargs + ) + self.assertIsNone(result) + class TestImageShow(TestImage): |
