From 29cfb0ee5b978f1c408c81c11cb51cbce4daaee3 Mon Sep 17 00:00:00 2001 From: dblock Date: Fri, 17 Sep 2021 12:02:52 +0000 Subject: [PATCH] Add checks to OpenSearch in auto-generated manifests. Signed-off-by: dblock --- .../src/manifests_workflow/component.py | 15 ++++++++++++++- .../component_opensearch_min.py | 7 ++++++- .../src/manifests_workflow/input_manifests.py | 8 +------- .../test_component_opensearch.py | 9 +++++++++ .../test_component_opensearch_min.py | 14 ++++++++++++++ 5 files changed, 44 insertions(+), 9 deletions(-) diff --git a/bundle-workflow/src/manifests_workflow/component.py b/bundle-workflow/src/manifests_workflow/component.py index 5de9e509c5..c6590271ae 100644 --- a/bundle-workflow/src/manifests_workflow/component.py +++ b/bundle-workflow/src/manifests_workflow/component.py @@ -4,15 +4,28 @@ # this file be licensed under the Apache-2.0 license or a # compatible open source license. +from manifests.manifest import Manifest + class Component: - def __init__(self, name, repo, snapshot=False): + def __init__(self, name, repo, snapshot=False, checks=[]): self.name = name self.git_repo = repo self.snapshot = snapshot + self.checks = checks @classmethod def gradle_cmd(self, target, props={}): cmd = [f"./gradlew {target}"] cmd.extend([f"-D{k}={v}" for k, v in props.items()]) return " ".join(cmd) + + def to_dict(self): + return Manifest.compact( + { + "name": self.name, + "repository": self.git_repo.url, + "ref": self.git_repo.ref, + "checks": self.checks, + } + ) diff --git a/bundle-workflow/src/manifests_workflow/component_opensearch_min.py b/bundle-workflow/src/manifests_workflow/component_opensearch_min.py index 1e570883bf..8100d12eca 100644 --- a/bundle-workflow/src/manifests_workflow/component_opensearch_min.py +++ b/bundle-workflow/src/manifests_workflow/component_opensearch_min.py @@ -14,7 +14,12 @@ class ComponentOpenSearchMin(Component): def __init__(self, repo, snapshot=False): - super().__init__("OpenSearch", repo, snapshot) + super().__init__( + "OpenSearch", + repo, + snapshot, + ["gradle:publish", "gradle:properties:version"], + ) @classmethod def get_branches(self): diff --git a/bundle-workflow/src/manifests_workflow/input_manifests.py b/bundle-workflow/src/manifests_workflow/input_manifests.py index 1e86edc374..0460577541 100644 --- a/bundle-workflow/src/manifests_workflow/input_manifests.py +++ b/bundle-workflow/src/manifests_workflow/input_manifests.py @@ -107,13 +107,7 @@ def update(self, keep=False): # TODO: copy OpenSearch and common-utils from the previous manifest for component in main_versions[release_version]: logging.info(f" Adding {component.name}") - data["components"].append( - { - "name": component.name, - "repository": component.git_repo.url, - "ref": component.git_repo.ref, - } - ) + data["components"].append(component.to_dict()) manifest = InputManifest(data) manifest_path = os.path.join( diff --git a/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch.py b/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch.py index debe8500d4..f2951c5417 100644 --- a/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch.py +++ b/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch.py @@ -30,3 +30,12 @@ def test_properties(self): repo.output.return_value = "version=2.1" component = ComponentOpenSearch("common-utils", repo, "1.1.0") self.assertEqual(component.properties.get_value("version"), "2.1") + + def test_to_dict(self): + repo = MagicMock(ref="ref", url="repo") + repo.output.return_value = "version=2.1" + component = ComponentOpenSearch("common-utils", repo, "1.1.0") + self.assertEqual( + component.to_dict(), + {"name": "common-utils", "ref": "ref", "repository": "repo"}, + ) diff --git a/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch_min.py b/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch_min.py index acce829b17..ef2f6fbb3b 100644 --- a/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch_min.py +++ b/bundle-workflow/tests/tests_manifests_workflow/test_component_opensearch_min.py @@ -50,3 +50,17 @@ def test_properties(self): repo.output.return_value = "version=2.1" component = ComponentOpenSearchMin(repo) self.assertEqual(component.properties.get_value("version"), "2.1") + + def test_to_dict(self): + repo = MagicMock(ref="ref", url="repo") + repo.output.return_value = "version=2.1" + component = ComponentOpenSearchMin(repo) + self.assertEqual( + component.to_dict(), + { + "checks": ["gradle:publish", "gradle:properties:version"], + "name": "OpenSearch", + "ref": "ref", + "repository": "repo", + }, + )