summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/drivers/modules/test_image_utils.py
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-01-21 14:06:14 +0000
committerGerrit Code Review <review@openstack.org>2021-01-21 14:06:14 +0000
commit5640860c81f2c172d8ad1e3756546f64825c7ed4 (patch)
tree2793bf93dc683a9509915cc1228b248b101f4357 /ironic/tests/unit/drivers/modules/test_image_utils.py
parentd6661a2d4b18754bbfeabd2e0cbb2a07f1fabaaf (diff)
parentfe380bbbab9d99554ceff82404f6033215c36063 (diff)
downloadironic-5640860c81f2c172d8ad1e3756546f64825c7ed4.tar.gz
Merge "Follow-up for ramdisk deploy configdrive support"
Diffstat (limited to 'ironic/tests/unit/drivers/modules/test_image_utils.py')
-rw-r--r--ironic/tests/unit/drivers/modules/test_image_utils.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/ironic/tests/unit/drivers/modules/test_image_utils.py b/ironic/tests/unit/drivers/modules/test_image_utils.py
index fd51d1c73..c4d817af2 100644
--- a/ironic/tests/unit/drivers/modules/test_image_utils.py
+++ b/ironic/tests/unit/drivers/modules/test_image_utils.py
@@ -304,6 +304,30 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase):
result = image_utils.prepare_configdrive_image(task, encoded)
self.assertEqual(expected_url, result)
+ @mock.patch.object(images, 'fetch_into', autospec=True)
+ @mock.patch.object(image_utils, 'prepare_disk_image', autospec=True)
+ def test_prepare_configdrive_image_url(self, mock_prepare, mock_fetch):
+ content = 'https://swift/path'
+ expected_url = 'https://a.b/c.f?e=f'
+ encoded = b'H4sIAPJ8418C/0vOzytJzSsBAKkwxf4HAAAA'
+
+ def _fetch(context, image_href, image_file):
+ self.assertEqual(content, image_href)
+ image_file.write(encoded)
+
+ def _prepare(task, content, prefix):
+ with open(content, 'rb') as fp:
+ self.assertEqual(b'content', fp.read())
+ return expected_url
+
+ mock_fetch.side_effect = _fetch
+ mock_prepare.side_effect = _prepare
+
+ with task_manager.acquire(self.context, self.node.uuid,
+ shared=True) as task:
+ result = image_utils.prepare_configdrive_image(task, content)
+ self.assertEqual(expected_url, result)
+
@mock.patch.object(image_utils.ImageHandler, 'unpublish_image',
autospec=True)
def test_cleanup_iso_image(self, mock_unpublish):