mock utils.execute() in qemu-img unit test

There was a unit test that was not mocking utils.execute() and relying
on qemu-img being installed on the machine running the tests. This fixes
the test to mock out utils.execute() and raise a ProcessExecutionError
that simulates the expected behaviour from qemu-img.

Fixes bug: #1765122

Change-Id: Ia6fc089fce0cc0ba1fb8d4d4ffbf7f47968a0507
(cherry picked from commit 815b11f70a)
This commit is contained in:
Jay Pipes 2018-04-18 12:39:35 -04:00 committed by ymadhavi@in.ibm.com
parent c7d87f6691
commit cf927f177b
1 changed files with 5 additions and 1 deletions

View File

@ -30,8 +30,12 @@ class QemuTestCase(test.NoDBTestCase):
images.qemu_img_info,
'/path/that/does/not/exist')
@mock.patch.object(utils, 'execute')
@mock.patch.object(os.path, 'exists', return_value=True)
def test_qemu_info_with_errors(self, path_exists):
def test_qemu_info_with_errors(self, path_exists, mock_exec):
err = processutils.ProcessExecutionError(
exit_code=1, stderr='No such file or directory')
mock_exec.side_effect = err
self.assertRaises(exception.DiskNotFound,
images.qemu_img_info,
'/fake/path')