Skip to content

Commit 7e43203

Browse files
committed
Stop using SERVICE_TEMPLATE and use ObsPackage._service_file_contents instead
1 parent f7722ae commit 7e43203

2 files changed

Lines changed: 44 additions & 83 deletions

File tree

src/bci_build/templates.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -188,30 +188,3 @@
188188
</image>
189189
"""
190190
)
191-
192-
#: Jinja2 template used to generate :file:`_service`.
193-
SERVICE_TEMPLATE = jinja2.Template(
194-
"""<services>
195-
<service mode="buildtime" name="{{ image.build_recipe_type }}_label_helper"/>
196-
<service mode="buildtime" name="kiwi_metainfo_helper"/>
197-
{%- set all_build_flavors = [""] %}
198-
{%- if image.crate and image.build_flavor %}
199-
{%- set all_build_flavors = image.crate.all_build_flavors(image) %}
200-
{%- endif %}
201-
{%- for flavor in all_build_flavors %}
202-
{%- for replacement in image.replacements_via_service %}
203-
<service name="replace_using_package_version" mode="buildtime">
204-
<param name="file">
205-
{%- if replacement.file_name != None %}{{replacement.file_name}}
206-
{%- elif (image.build_recipe_type|string) == "docker" %}{% if flavor %}Dockerfile.{{ flavor }}{% else %}Dockerfile{% endif %}
207-
{%- else %}{{ image.package_name }}.kiwi
208-
{%- endif %}</param>
209-
<param name="regex">{{ replacement.regex_in_build_description }}</param>
210-
<param name="package">{{ replacement.package_name }}</param>{% if replacement.parse_version %}
211-
<param name="parse-version">{{ replacement.parse_version }}</param>{% endif %}
212-
</service>
213-
{%- endfor -%}
214-
{% endfor %}
215-
</services>
216-
"""
217-
)

tests/test_service.py

Lines changed: 44 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
from bci_build.containercrate import ContainerCrate
21
import pytest
2+
33
from bci_build.os_version import OsVersion
44
from bci_build.package import BuildType
55
from bci_build.package import DevelopmentContainer
66
from bci_build.package import ParseVersion
77
from bci_build.package import Replacement
8-
from bci_build.templates import SERVICE_TEMPLATE
8+
from bci_build.package.obs_package import ObsPackage
99
from bci_build.service import Service
1010

1111

@@ -75,37 +75,33 @@ def test_replacement_to_service(
7575

7676
def test_service_without_replacement_kiwi():
7777
assert (
78-
SERVICE_TEMPLATE.render(
79-
image=DevelopmentContainer(**_BASE_KWARGS, build_recipe_type=BuildType.KIWI)
80-
)
78+
DevelopmentContainer(
79+
**_BASE_KWARGS, build_recipe_type=BuildType.KIWI
80+
)._service_file_contents
8181
== """<services>
82-
<service mode="buildtime" name="kiwi_label_helper"/>
83-
<service mode="buildtime" name="kiwi_metainfo_helper"/>
82+
<service name="kiwi_label_helper" mode="buildtime" />
83+
<service name="kiwi_metainfo_helper" mode="buildtime" />
8484
</services>"""
8585
)
8686

8787

8888
def test_service_with_replacement_kiwi():
8989
assert (
90-
SERVICE_TEMPLATE.render(
91-
image=DevelopmentContainer(
92-
**_BASE_KWARGS,
93-
build_recipe_type=BuildType.KIWI,
94-
replacements_via_service=[
95-
Replacement(
96-
regex_in_build_description="re", package_name="coreutils"
97-
),
98-
Replacement(
99-
regex_in_build_description="re",
100-
package_name="coreutils",
101-
file_name="replacementfile",
102-
),
103-
],
104-
)
105-
)
90+
DevelopmentContainer(
91+
**_BASE_KWARGS,
92+
build_recipe_type=BuildType.KIWI,
93+
replacements_via_service=[
94+
Replacement(regex_in_build_description="re", package_name="coreutils"),
95+
Replacement(
96+
regex_in_build_description="re",
97+
package_name="coreutils",
98+
file_name="replacementfile",
99+
),
100+
],
101+
)._service_file_contents
106102
== """<services>
107-
<service mode="buildtime" name="kiwi_label_helper"/>
108-
<service mode="buildtime" name="kiwi_metainfo_helper"/>
103+
<service name="kiwi_label_helper" mode="buildtime" />
104+
<service name="kiwi_metainfo_helper" mode="buildtime" />
109105
<service name="replace_using_package_version" mode="buildtime">
110106
<param name="file">test-image.kiwi</param>
111107
<param name="regex">re</param>
@@ -122,31 +118,27 @@ def test_service_with_replacement_kiwi():
122118

123119
def test_service_with_replacement_docker():
124120
assert (
125-
SERVICE_TEMPLATE.render(
126-
image=DevelopmentContainer(
127-
**_BASE_KWARGS,
128-
build_recipe_type=BuildType.DOCKER,
129-
replacements_via_service=[
130-
Replacement(
131-
regex_in_build_description="%%my_ver%%", package_name="sh"
132-
),
133-
Replacement(
134-
regex_in_build_description="%%minor_ver%%",
135-
package_name="filesystem",
136-
parse_version=ParseVersion.MINOR,
137-
),
138-
Replacement(
139-
regex_in_build_description="%%minor_ver%%",
140-
file_name="replacementfile",
141-
package_name="filesystem",
142-
parse_version=ParseVersion.MINOR,
143-
),
144-
],
145-
)
146-
)
121+
DevelopmentContainer(
122+
**_BASE_KWARGS,
123+
build_recipe_type=BuildType.DOCKER,
124+
replacements_via_service=[
125+
Replacement(regex_in_build_description="%%my_ver%%", package_name="sh"),
126+
Replacement(
127+
regex_in_build_description="%%minor_ver%%",
128+
package_name="filesystem",
129+
parse_version=ParseVersion.MINOR,
130+
),
131+
Replacement(
132+
regex_in_build_description="%%minor_ver%%",
133+
file_name="replacementfile",
134+
package_name="filesystem",
135+
parse_version=ParseVersion.MINOR,
136+
),
137+
],
138+
)._service_file_contents
147139
== """<services>
148-
<service mode="buildtime" name="docker_label_helper"/>
149-
<service mode="buildtime" name="kiwi_metainfo_helper"/>
140+
<service name="docker_label_helper" mode="buildtime" />
141+
<service name="kiwi_metainfo_helper" mode="buildtime" />
150142
<service name="replace_using_package_version" mode="buildtime">
151143
<param name="file">Dockerfile</param>
152144
<param name="regex">%%my_ver%%</param>
@@ -180,15 +172,11 @@ def test_service_with_multi_flavor_docker():
180172
)
181173
for flavor in ("flavor1", "flavor2")
182174
]
183-
ContainerCrate(containers)
184-
185175
assert (
186-
SERVICE_TEMPLATE.render(
187-
image=containers[0],
188-
)
176+
ObsPackage.from_bcis(containers)._service_file_contents
189177
== """<services>
190-
<service mode="buildtime" name="docker_label_helper"/>
191-
<service mode="buildtime" name="kiwi_metainfo_helper"/>
178+
<service name="docker_label_helper" mode="buildtime" />
179+
<service name="kiwi_metainfo_helper" mode="buildtime" />
192180
<service name="replace_using_package_version" mode="buildtime">
193181
<param name="file">Dockerfile.flavor1</param>
194182
<param name="regex">%%my_ver%%</param>

0 commit comments

Comments
 (0)