diff --git a/zun/image/docker/driver.py b/zun/image/docker/driver.py index efc766e67..46addedc2 100644 --- a/zun/image/docker/driver.py +++ b/zun/image/docker/driver.py @@ -95,5 +95,12 @@ class DockerDriver(driver.ContainerImageDriver): if exact_match: images = [i for i in images if i['name'] == repo] + for image in images: + image['metadata'] = {} + for key in ('is_official', 'star_count'): + value = image.pop(key, None) + if value is not None: + image['metadata'][key] = value + # TODO(hongbin): convert images to a list of Zun Image object return images diff --git a/zun/tests/unit/image/docker/test_driver.py b/zun/tests/unit/image/docker/test_driver.py index 4de4f9ada..d782760d5 100644 --- a/zun/tests/unit/image/docker/test_driver.py +++ b/zun/tests/unit/image/docker/test_driver.py @@ -153,7 +153,8 @@ class TestDriver(base.BaseTestCase): self.assertEqual(1, mock_init.call_count) def test_search_image_success(self): - search_ret_val = [{'name': 'test_image', 'stars': 3}] + search_ret_val = [{'name': 'test_image', 'star_count': 3, + 'is_official': True}] with mock.patch.object(self.mock_docker, 'search', return_value=search_ret_val) as mock_search: ret = self.driver.search_image(None, 'image', 'test', False) @@ -163,7 +164,8 @@ class TestDriver(base.BaseTestCase): self.assertEqual(1, mock_search.call_count) def test_search_image_not_found_success(self): - search_ret_val = [{'name': 'test_image', 'stars': 3}] + search_ret_val = [{'name': 'test_image', 'star_count': 3, + 'is_official': True}] with mock.patch.object(self.mock_docker, 'search', return_value=search_ret_val) as mock_search: ret = self.driver.search_image(None, 'image1', 'test', False) @@ -173,7 +175,8 @@ class TestDriver(base.BaseTestCase): self.assertEqual(1, mock_search.call_count) def test_search_image_exact_match_success(self): - search_ret_val = [{'name': 'test_image', 'stars': 3}] + search_ret_val = [{'name': 'test_image', 'star_count': 3, + 'is_official': True}] with mock.patch.object(self.mock_docker, 'search', return_value=search_ret_val) as mock_search: ret = self.driver.search_image(None, 'test_image', 'test', True) @@ -183,7 +186,8 @@ class TestDriver(base.BaseTestCase): self.assertEqual(1, mock_search.call_count) def test_search_image_not_found_exact_match_success(self): - search_ret_val = [{'name': 'test_image', 'stars': 3}] + search_ret_val = [{'name': 'test_image', 'star_count': 3, + 'is_official': True}] with mock.patch.object(self.mock_docker, 'search', return_value=search_ret_val) as mock_search: ret = self.driver.search_image(None, 'image', 'test', True)