From 3202fefc654bc32fd7e02b12b76a4ea55f7f53c0 Mon Sep 17 00:00:00 2001 From: Huanxuan Ao Date: Fri, 5 Aug 2016 18:54:29 +0800 Subject: Support multi REST API calls error handling for "volume set" command Support the error handling follow the rule in doc/source/command-errors.rst Also add a unit test for testing the error handling Change-Id: I98064f4b8c1dc17eb3874f7b25c827a568463c0f --- openstackclient/tests/volume/v2/test_volume.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'openstackclient/tests') diff --git a/openstackclient/tests/volume/v2/test_volume.py b/openstackclient/tests/volume/v2/test_volume.py index c2740cab..1bb5c192 100644 --- a/openstackclient/tests/volume/v2/test_volume.py +++ b/openstackclient/tests/volume/v2/test_volume.py @@ -860,6 +860,27 @@ class TestVolumeSet(TestVolume): self.new_volume.id, 'error') self.assertIsNone(result) + def test_volume_set_state_failed(self): + self.volumes_mock.reset_state.side_effect = exceptions.CommandError() + arglist = [ + '--state', 'error', + self.new_volume.id + ] + verifylist = [ + ('state', 'error'), + ('volume', self.new_volume.id) + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + try: + self.cmd.take_action(parsed_args) + self.fail('CommandError should be raised.') + except exceptions.CommandError as e: + self.assertEqual('One or more of the set operations failed', + str(e)) + self.volumes_mock.reset_state.assert_called_with( + self.new_volume.id, 'error') + class TestVolumeShow(TestVolume): -- cgit v1.2.1