From 90ae89eaaf237c507a38d6d5454087da8489020d Mon Sep 17 00:00:00 2001 From: Jan Kaluža Date: Jul 30 2019 10:27:15 +0000 Subject: Merge #409 `Update ImageVerifier to match the current Lightblue code.` --- diff --git a/freshmaker/image_verifier.py b/freshmaker/image_verifier.py index ba7ff76..12a4a9d 100644 --- a/freshmaker/image_verifier.py +++ b/freshmaker/image_verifier.py @@ -44,16 +44,21 @@ class ImageVerifier(object): Verifies the Lightblue ContainerRepository data. Raises ValueError in case of error. """ - if "Generally Available" not in repo["release_categories"]: + categories = set(["Generally Available", "Tech Preview", "Beta"]) + if not set(repo["release_categories"]).intersection(categories): raise ValueError( - "Only repositories with \"Generally Available\" release_categories can be " - "rebuilt, but found %r." % repo["release_categories"]) + "Only repositories with one of %r release_categories can be " + "rebuilt, but found %r." % (categories, repo["release_categories"])) if not repo["published"]: raise ValueError( "Only published repositories can be rebuilt, but this repository is not " "published.") + if "auto_rebuild_tags" not in repo: + raise ValueError( + "The \"auto_rebuild_tags\" in COMET is not set.") + if "auto_rebuild_tags" in repo and repo["auto_rebuild_tags"] == []: raise ValueError( "The \"auto_rebuild_tags\" in COMET is set to an empty list, this means " diff --git a/tests/test_image_verifier.py b/tests/test_image_verifier.py index c53dfbf..eb55fb9 100644 --- a/tests/test_image_verifier.py +++ b/tests/test_image_verifier.py @@ -49,16 +49,16 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_repository_deprecated(self): self.lb.find_container_repositories.return_value = [{ - "release_categories": "Deprecated", + "release_categories": ["Deprecated"], "published": True, "auto_rebuild_tags": "latest"}] six.assertRaisesRegex( - self, ValueError, r'.*but found \'Deprecated\'.', + self, ValueError, r'.*but found \[\'Deprecated\'\].', self.verifier.verify_repository, "foo/bar") def test_verify_repository_not_published(self): self.lb.find_container_repositories.return_value = [{ - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": False, "auto_rebuild_tags": "latest"}] six.assertRaisesRegex( @@ -67,7 +67,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_repository_no_auto_rebuild_tags(self): self.lb.find_container_repositories.return_value = [{ - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": []}] six.assertRaisesRegex( @@ -77,7 +77,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_repository_no_images(self): self.lb.find_container_repositories.return_value = [{ "repository": "foo/bar", - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": ["latest"]}] self.lb.get_images_by_nvrs.return_value = [] @@ -88,7 +88,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_repository_no_content_sets(self): self.lb.find_container_repositories.return_value = [{ "repository": "foo/bar", - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": ["latest"]}] self.lb.find_images_with_included_srpms.return_value = [{ @@ -101,7 +101,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_repository(self): self.lb.find_container_repositories.return_value = [{ "repository": "foo/bar", - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": ["latest"]}] self.lb.find_images_with_included_srpms.return_value = [{ @@ -113,7 +113,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_get_verify_image(self): self.lb.find_container_repositories.return_value = [{ "repository": "foo/bar", - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": ["latest"]}] self.lb.get_images_by_nvrs.return_value = [{ @@ -137,7 +137,7 @@ class TestImageVerifier(helpers.FreshmakerTestCase): def test_verify_image_no_images(self): self.lb.find_container_repositories.return_value = [{ "repository": "foo/bar", - "release_categories": "Generally Available", + "release_categories": ["Generally Available"], "published": True, "auto_rebuild_tags": ["latest"]}] self.lb.get_images_by_nvrs.return_value = []