Fix intermittent v2 shell unit test failures
The do_image_download code has a check to make sure that there's a place to put the data (either filename or stdout redirect) before initiating the download. The location of this check was moved by change I841bebeda38814235079429eca0b1e5fd2f04dae to happen at the beginning of the function. The two intermittently failing tests do not explicitly address the check condition, and as a result the tests do exit early, but before they can check what they're supposed to be testing. Closes-bug: #1759951 Change-Id: I3c85bb358f669504b364d55618c21382b7a2a66b
This commit is contained in:
@@ -758,10 +758,13 @@ class ShellV2Test(testtools.TestCase):
|
||||
self.assert_exits_with_msg(func=test_shell.do_image_delete,
|
||||
func_args=args)
|
||||
|
||||
@mock.patch('sys.stdout', autospec=True)
|
||||
@mock.patch.object(utils, 'print_err')
|
||||
def test_do_image_download_with_forbidden_id(self, mocked_print_err):
|
||||
def test_do_image_download_with_forbidden_id(self, mocked_print_err,
|
||||
mocked_stdout):
|
||||
args = self._make_args({'id': 'IMG-01', 'file': None,
|
||||
'progress': False})
|
||||
mocked_stdout.isatty = lambda: False
|
||||
with mock.patch.object(self.gc.images, 'data') as mocked_data:
|
||||
mocked_data.side_effect = exc.HTTPForbidden
|
||||
try:
|
||||
@@ -773,10 +776,12 @@ class ShellV2Test(testtools.TestCase):
|
||||
self.assertEqual(1, mocked_data.call_count)
|
||||
self.assertEqual(1, mocked_print_err.call_count)
|
||||
|
||||
@mock.patch('sys.stdout', autospec=True)
|
||||
@mock.patch.object(utils, 'print_err')
|
||||
def test_do_image_download_with_500(self, mocked_print_err):
|
||||
def test_do_image_download_with_500(self, mocked_print_err, mocked_stdout):
|
||||
args = self._make_args({'id': 'IMG-01', 'file': None,
|
||||
'progress': False})
|
||||
mocked_stdout.isatty = lambda: False
|
||||
with mock.patch.object(self.gc.images, 'data') as mocked_data:
|
||||
mocked_data.side_effect = exc.HTTPInternalServerError
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user