From f843b5d507ad152936fde915e89a192b1a3f1ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= Date: Tue, 8 Oct 2024 13:59:09 +0200 Subject: [PATCH] Stop using SERVICE_TEMPLATE and use ObsPackage._service_file_contents instead --- src/bci_build/templates.py | 27 ----------- tests/test_service.py | 99 +++++++++++++++++--------------------- 2 files changed, 43 insertions(+), 83 deletions(-) diff --git a/src/bci_build/templates.py b/src/bci_build/templates.py index 4d3281832..e64a05bef 100644 --- a/src/bci_build/templates.py +++ b/src/bci_build/templates.py @@ -190,30 +190,3 @@ """ ) - -#: Jinja2 template used to generate :file:`_service`. -SERVICE_TEMPLATE = jinja2.Template( - """ - - -{%- set all_build_flavors = [""] %} -{%- if image.crate and image.build_flavor %} -{%- set all_build_flavors = image.crate.all_build_flavors(image) %} -{%- endif %} -{%- for flavor in all_build_flavors %} -{%- for replacement in image.replacements_via_service %} - - -{%- if replacement.file_name != None %}{{replacement.file_name}} -{%- elif (image.build_recipe_type|string) == "docker" %}{% if flavor %}Dockerfile.{{ flavor }}{% else %}Dockerfile{% endif %} -{%- else %}{{ image.package_name }}.kiwi -{%- endif %} - {{ replacement.regex_in_build_description }} - {{ replacement.package_name }}{% if replacement.parse_version %} - {{ replacement.parse_version }}{% endif %} - -{%- endfor -%} -{% endfor %} - -""" -) diff --git a/tests/test_service.py b/tests/test_service.py index b5dd5c431..d7dbcd86c 100644 --- a/tests/test_service.py +++ b/tests/test_service.py @@ -1,13 +1,12 @@ import pytest from bci_build.container_attributes import BuildType -from bci_build.containercrate import ContainerCrate from bci_build.os_version import OsVersion from bci_build.package import DevelopmentContainer from bci_build.package import ParseVersion from bci_build.package import Replacement +from bci_build.package.obs_package import ObsPackage from bci_build.service import Service -from bci_build.templates import SERVICE_TEMPLATE def test_service_without_params_as_xml(): @@ -76,37 +75,33 @@ def test_replacement_to_service( def test_service_without_replacement_kiwi(): assert ( - SERVICE_TEMPLATE.render( - image=DevelopmentContainer(**_BASE_KWARGS, build_recipe_type=BuildType.KIWI) - ) + DevelopmentContainer( + **_BASE_KWARGS, build_recipe_type=BuildType.KIWI + )._service_file_contents == """ - - + + """ ) def test_service_with_replacement_kiwi(): assert ( - SERVICE_TEMPLATE.render( - image=DevelopmentContainer( - **_BASE_KWARGS, - build_recipe_type=BuildType.KIWI, - replacements_via_service=[ - Replacement( - regex_in_build_description="re", package_name="coreutils" - ), - Replacement( - regex_in_build_description="re", - package_name="coreutils", - file_name="replacementfile", - ), - ], - ) - ) + DevelopmentContainer( + **_BASE_KWARGS, + build_recipe_type=BuildType.KIWI, + replacements_via_service=[ + Replacement(regex_in_build_description="re", package_name="coreutils"), + Replacement( + regex_in_build_description="re", + package_name="coreutils", + file_name="replacementfile", + ), + ], + )._service_file_contents == """ - - + + test-image.kiwi re @@ -123,31 +118,27 @@ def test_service_with_replacement_kiwi(): def test_service_with_replacement_docker(): assert ( - SERVICE_TEMPLATE.render( - image=DevelopmentContainer( - **_BASE_KWARGS, - build_recipe_type=BuildType.DOCKER, - replacements_via_service=[ - Replacement( - regex_in_build_description="%%my_ver%%", package_name="sh" - ), - Replacement( - regex_in_build_description="%%minor_ver%%", - package_name="filesystem", - parse_version=ParseVersion.MINOR, - ), - Replacement( - regex_in_build_description="%%minor_ver%%", - file_name="replacementfile", - package_name="filesystem", - parse_version=ParseVersion.MINOR, - ), - ], - ) - ) + DevelopmentContainer( + **_BASE_KWARGS, + build_recipe_type=BuildType.DOCKER, + replacements_via_service=[ + Replacement(regex_in_build_description="%%my_ver%%", package_name="sh"), + Replacement( + regex_in_build_description="%%minor_ver%%", + package_name="filesystem", + parse_version=ParseVersion.MINOR, + ), + Replacement( + regex_in_build_description="%%minor_ver%%", + file_name="replacementfile", + package_name="filesystem", + parse_version=ParseVersion.MINOR, + ), + ], + )._service_file_contents == """ - - + + Dockerfile %%my_ver%% @@ -181,15 +172,11 @@ def test_service_with_multi_flavor_docker(): ) for flavor in ("flavor1", "flavor2") ] - ContainerCrate(containers) - assert ( - SERVICE_TEMPLATE.render( - image=containers[0], - ) + ObsPackage.from_bcis(containers)._service_file_contents == """ - - + + Dockerfile.flavor1 %%my_ver%%