From d650f67dbfbb68f63150fe8353e71f8088847192 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Tue, 14 Mar 2023 16:11:00 +0100 Subject: [PATCH] refactor to dedicated parameters --- src/main/python/ddadevops/devops_build.py | 29 +++++++++++-------- src/main/python/ddadevops/domain.py | 14 ++++++---- src/test/python/test_domain.py | 34 +++++++++++++---------- 3 files changed, 44 insertions(+), 33 deletions(-) diff --git a/src/main/python/ddadevops/devops_build.py b/src/main/python/ddadevops/devops_build.py index 97dcbfa..f07868f 100644 --- a/src/main/python/ddadevops/devops_build.py +++ b/src/main/python/ddadevops/devops_build.py @@ -2,8 +2,8 @@ import deprecation from .domain import Devops from .infrastructure import ProjectRepository, FileApi -@deprecation.deprecated(deprecated_in="3.2") -# create objects direct instead +@deprecation.deprecated(deprecated_in="3.2", +details="create objects direct instead") def create_devops_build_config( stage, project_root_path, module, build_dir_name="target" ): @@ -19,7 +19,7 @@ def create_devops_build_config( def get_devops_build(project): return project.get_property("devops_build") - +@deprecation.deprecated(deprecated_in="3.2") # TODO: Remove from here! def get_tag_from_latest_commit(): try: @@ -35,22 +35,27 @@ def get_tag_from_latest_commit(): class DevopsBuild: - def __init__(self, project, config): + def __init__(self, project, config: map = None, devops: Devops = None): self.project = project self.file_api = FileApi() self.repo = ProjectRepository() config.update({"name": project.name}) - build = Devops(config) - self.repo.set_devops(self.project, build) + if not devops: + devops = Devops(stage = config['stage'], + project_root_path = config['project_root_path'], + module = config['module'], + name =project.name, + build_dir_name=config['build_dir_name']) + self.repo.set_devops(self.project, devops) def name(self): - build = self.repo.get_devops(self.project) - return build.name + devops = self.repo.get_devops(self.project) + return devops.name def build_path(self): - build = self.repo.get_devops(self.project) - return build.build_path() + devops = self.repo.get_devops(self.project) + return devops.build_path() def initialize_build_dir(self): - build = self.repo.get_devops(self.project) - self.file_api.clean_dir(build.build_path()) + devops = self.repo.get_devops(self.project) + self.file_api.clean_dir(devops.build_path()) diff --git a/src/main/python/ddadevops/domain.py b/src/main/python/ddadevops/domain.py index 8a06bea..12cafb4 100644 --- a/src/main/python/ddadevops/domain.py +++ b/src/main/python/ddadevops/domain.py @@ -33,12 +33,14 @@ class DnsRecord(Validateable): class Devops(Validateable): - def __init__(self, config): - self.stage = config["stage"] - self.name = config["name"] - self.project_root_path = config["project_root_path"] - self.module = config["module"] - self.build_dir_name = config["build_dir_name"] + def __init__(self, stage, project_root_path, module, name=None, build_dir_name="target"): + self.stage = stage + self.name = name + self.project_root_path = project_root_path + self.module = module + if not name: + self.name = module + self.build_dir_name = build_dir_name # Deprecated - no longer use generic stack ... self.stack = {} diff --git a/src/test/python/test_domain.py b/src/test/python/test_domain.py index 0f85e8f..38d9460 100644 --- a/src/test/python/test_domain.py +++ b/src/test/python/test_domain.py @@ -45,22 +45,28 @@ def test_should_validate_DnsRecord(): sut = DnsRecord(None) assert not sut.is_valid() - sut = DnsRecord('name') + sut = DnsRecord("name") assert not sut.is_valid() - sut = DnsRecord('name', ipv4='1.2.3.4') + sut = DnsRecord("name", ipv4="1.2.3.4") assert sut.is_valid() - sut = DnsRecord('name', ipv6='1::') + sut = DnsRecord("name", ipv6="1::") assert sut.is_valid() -def test_c4k_build_should_update_fqdn(tmp_path): - project = Project(str(tmp_path), name="name") +def test_devops_buildpath(): + sut = Devops( + stage="test", project_root_path="../../..", module="cloud", name="meissa" + ) + assert "../../../target/meissa/cloud" == sut.build_path() + + +def test_c4k_build_should_update_fqdn(): project_config = { "stage": "test", "name": "name", - "project_root_path": str(tmp_path), + "project_root_path": "mypath", "module": "module", "build_dir_name": "target", } @@ -77,7 +83,7 @@ def test_c4k_build_should_update_fqdn(tmp_path): grafana_cloud_user="user", grafana_cloud_password="password", ) - build = Devops(project_config) + sut = C4k(project_config) sut.update_runtime_config(DnsRecord("test.de", ipv6="1::")) @@ -101,8 +107,9 @@ def test_c4k_build_should_update_fqdn(tmp_path): } == sut.c4k_mixin_auth -def test_c4k_build_should_calculate_command(tmp_path): - project = Project(str(tmp_path), name="name") +def test_c4k_build_should_calculate_command(): + devops = Devops(stage="test", project_root_path='', + module="module", name="name") project_config = { "stage": "test", "name": "name", @@ -117,14 +124,13 @@ def test_c4k_build_should_calculate_command(tmp_path): grafana_cloud_user="user", grafana_cloud_password="password", ) - build = Devops(project_config) sut = C4k(project_config) assert ( "c4k-module-standalone.jar " + "/target/name/module/out_c4k_config.yaml " + "/target/name/module/out_c4k_auth.yaml > " + "/target/name/module/out_module.yaml" - == sut.command(build) + == sut.command(devops) ) project_config = { @@ -138,17 +144,15 @@ def test_c4k_build_should_calculate_command(tmp_path): project_config, {}, {}, - executabel_name = "executabel_name", + executabel_name="executabel_name", grafana_cloud_user="user", grafana_cloud_password="password", ) - build = Devops(project_config) sut = C4k(project_config) assert ( "c4k-executabel_name-standalone.jar " + "/target/name/module/out_c4k_config.yaml " + "/target/name/module/out_c4k_auth.yaml > " + "/target/name/module/out_module.yaml" - == sut.command(build) + == sut.command(devops) ) -