diff options
author | Ravi Shekhar Jethani <rsjethani@gmail.com> | 2016-10-18 13:43:06 +0530 |
---|---|---|
committer | Ravi Shekhar Jethani <rsjethani@gmail.com> | 2017-07-24 14:54:57 +0530 |
commit | 1df55dd952fe52c1c1fc2583326d017275b01ddc (patch) | |
tree | 72c273c967140f04d7be083c2ac5b25bb4fb2874 /glanceclient/tests | |
parent | a6e0cdf46d5fad2c6eb65d828af6734681d10cc1 (diff) | |
download | python-glanceclient-1df55dd952fe52c1c1fc2583326d017275b01ddc.tar.gz |
Validate input args before trying image download
Currently client is contacting glance service even if the
caller has niether specified any redirection nor '--file'
option. This unnecessary request although isn't causing
any critical issues but can be avoided by simply doing
input validation first.
TrivialFix
Change-Id: I841bebeda38814235079429eca0b1e5fd2f04dae
Diffstat (limited to 'glanceclient/tests')
-rw-r--r-- | glanceclient/tests/unit/v2/test_shell_v2.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/glanceclient/tests/unit/v2/test_shell_v2.py b/glanceclient/tests/unit/v2/test_shell_v2.py index fed1f72..4ac8c17 100644 --- a/glanceclient/tests/unit/v2/test_shell_v2.py +++ b/glanceclient/tests/unit/v2/test_shell_v2.py @@ -590,6 +590,20 @@ class ShellV2Test(testtools.TestCase): test_shell.do_image_download(self.gc, args) mocked_data.assert_called_once_with('IMG-01') + @mock.patch.object(utils, 'exit') + @mock.patch('sys.stdout', autospec=True) + def test_image_download_no_file_arg(self, mocked_stdout, + mocked_utils_exit): + # Indicate that no file name was given as command line argument + args = self._make_args({'id': '1234', 'file': None, 'progress': False}) + # Indicate that no file is specified for output redirection + mocked_stdout.isatty = lambda: True + test_shell.do_image_download(self.gc, args) + mocked_utils_exit.assert_called_once_with( + 'No redirection or local file specified for downloaded image' + ' data. Please specify a local file with --file to save' + ' downloaded image or redirect output to another source.') + def test_do_image_delete(self): args = argparse.Namespace(id=['image1', 'image2']) with mock.patch.object(self.gc.images, 'delete') as mocked_delete: |