def test_pull_image_success(self, mock_find_image, mock_download_image,
mock_should_pull_image, mock_search_on_host):
mock_should_pull_image.return_value = True
mock_search_on_host.return_value = {'image': 'nginx', 'path': 'xyz',
'checksum': 'xxx'}
image_meta = mock.MagicMock()
image_meta.id = '1234'
mock_find_image.return_value = image_meta
mock_download_image.return_value = 'content'
CONF.set_override('images_directory', self.test_dir, group='glance')
out_path = os.path.join(self.test_dir, '1234' + '.tar')
mock_open_file = mock.mock_open()
with mock.patch('zun.image.glance.driver.open', mock_open_file):
ret = self.driver.pull_image(None, 'image', 'latest', 'always')
mock_open_file.assert_any_call('xyz', 'rb')
mock_open_file.assert_any_call(out_path, 'wb')
self.assertTrue(mock_search_on_host.called)
self.assertTrue(mock_should_pull_image.called)
self.assertTrue(mock_find_image.called)
self.assertTrue(mock_download_image.called)
self.assertEqual(({'image': 'image', 'path': out_path}, False), ret)
评论列表
文章目录