summaryrefslogtreecommitdiff
path: root/cinderclient/tests/unit
diff options
context:
space:
mode:
authorEric Harney <eharney@redhat.com>2019-03-27 11:16:15 -0400
committerSean McGinnis <sean.mcginnis@gmail.com>2019-06-03 14:54:13 +0000
commit0a2bab1d4d01df99bc9594f3f055ad99584949aa (patch)
treee2176a7186cf1cf2395f8a590454985d98bbfc56 /cinderclient/tests/unit
parent953243daa9034e2a37114864cf0ac0b273cd0fc0 (diff)
downloadpython-cinderclient-4.2.1.tar.gz
Fix shell upload-to-image with no volume type4.2.1
Upload-to-image would error after launching the operation if the volume type is None. Closes-Bug: #1821818 Change-Id: I015e0ddfa98d62f25334e2df5effaee72a3988ab (cherry picked from commit 274fa111696783e846561d12f670967ed01ebcbc)
Diffstat (limited to 'cinderclient/tests/unit')
-rw-r--r--cinderclient/tests/unit/test_shell.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/cinderclient/tests/unit/test_shell.py b/cinderclient/tests/unit/test_shell.py
index e611ace..a217378 100644
--- a/cinderclient/tests/unit/test_shell.py
+++ b/cinderclient/tests/unit/test_shell.py
@@ -502,3 +502,31 @@ class TestLoadVersionedActions(utils.TestCase):
mock_add_arg.call_args_list)
self.assertIn(mock.call('--foo', help="second foo"),
mock_add_arg.call_args_list)
+
+
+class ShellUtilsTest(utils.TestCase):
+
+ @mock.patch.object(cinderclient.utils, 'print_dict')
+ def test_print_volume_image(self, mock_print_dict):
+ response = {'os-volume_upload_image': {'name': 'myimg1'}}
+ image_resp_tuple = (202, response)
+ cinderclient.shell_utils.print_volume_image(image_resp_tuple)
+
+ response = {'os-volume_upload_image':
+ {'name': 'myimg2',
+ 'volume_type': None}}
+ image_resp_tuple = (202, response)
+ cinderclient.shell_utils.print_volume_image(image_resp_tuple)
+
+ response = {'os-volume_upload_image':
+ {'name': 'myimg3',
+ 'volume_type': {'id': '1234', 'name': 'sometype'}}}
+ image_resp_tuple = (202, response)
+ cinderclient.shell_utils.print_volume_image(image_resp_tuple)
+
+ mock_print_dict.assert_has_calls(
+ (mock.call({'name': 'myimg1'}),
+ mock.call({'name': 'myimg2',
+ 'volume_type': None}),
+ mock.call({'name': 'myimg3',
+ 'volume_type': 'sometype'})))