11import pytest
22
33from bci_build .container_attributes import BuildType
4- from bci_build .containercrate import ContainerCrate
54from bci_build .os_version import OsVersion
65from bci_build .package import DevelopmentContainer
76from bci_build .package import ParseVersion
87from bci_build .package import Replacement
8+ from bci_build .package .obs_package import MultiBuildObsPackage
99from bci_build .service import Service
10- from bci_build .templates import SERVICE_TEMPLATE
1110
1211
1312def test_service_without_params_as_xml ():
@@ -26,7 +25,7 @@ def test_service_with_params_as_xml():
2625 [
2726 # bare bone example
2827 (
29- Replacement (regex := "%ver%" , pkg := "pkgFoo" ),
28+ Replacement (regex := "%% ver% %" , pkg := "pkgFoo" ),
3029 "Dockerfile" ,
3130 Service (
3231 name = (name := "replace_using_package_version" ),
@@ -76,37 +75,35 @@ def test_replacement_to_service(
7675
7776def test_service_without_replacement_kiwi ():
7877 assert (
79- SERVICE_TEMPLATE . render (
80- image = DevelopmentContainer ( ** _BASE_KWARGS , build_recipe_type = BuildType .KIWI )
81- )
78+ DevelopmentContainer (
79+ ** _BASE_KWARGS , build_recipe_type = BuildType .KIWI
80+ ). _service_file_contents
8281 == """<services>
83- <service mode="buildtime" name="kiwi_label_helper" />
84- <service mode="buildtime" name="kiwi_metainfo_helper" />
82+ <service name="kiwi_label_helper" mode="buildtime" />
83+ <service name="kiwi_metainfo_helper" mode="buildtime" />
8584</services>"""
8685 )
8786
8887
8988def test_service_with_replacement_kiwi ():
9089 assert (
91- SERVICE_TEMPLATE .render (
92- image = DevelopmentContainer (
93- ** _BASE_KWARGS ,
94- build_recipe_type = BuildType .KIWI ,
95- replacements_via_service = [
96- Replacement (
97- regex_in_build_description = "%%re%%" , package_name = "coreutils"
98- ),
99- Replacement (
100- regex_in_build_description = "%%re%%" ,
101- package_name = "coreutils" ,
102- file_name = "replacementfile" ,
103- ),
104- ],
105- )
106- )
90+ DevelopmentContainer (
91+ ** _BASE_KWARGS ,
92+ build_recipe_type = BuildType .KIWI ,
93+ replacements_via_service = [
94+ Replacement (
95+ regex_in_build_description = "%%re%%" , package_name = "coreutils"
96+ ),
97+ Replacement (
98+ regex_in_build_description = "%%re%%" ,
99+ package_name = "coreutils" ,
100+ file_name = "replacementfile" ,
101+ ),
102+ ],
103+ )._service_file_contents
107104 == """<services>
108- <service mode="buildtime" name="kiwi_label_helper" />
109- <service mode="buildtime" name="kiwi_metainfo_helper" />
105+ <service name="kiwi_label_helper" mode="buildtime" />
106+ <service name="kiwi_metainfo_helper" mode="buildtime" />
110107 <service name="replace_using_package_version" mode="buildtime">
111108 <param name="file">test-image.kiwi</param>
112109 <param name="regex">%%re%%</param>
@@ -123,31 +120,27 @@ def test_service_with_replacement_kiwi():
123120
124121def test_service_with_replacement_docker ():
125122 assert (
126- SERVICE_TEMPLATE .render (
127- image = DevelopmentContainer (
128- ** _BASE_KWARGS ,
129- build_recipe_type = BuildType .DOCKER ,
130- replacements_via_service = [
131- Replacement (
132- regex_in_build_description = "%%my_ver%%" , package_name = "sh"
133- ),
134- Replacement (
135- regex_in_build_description = "%%minor_ver%%" ,
136- package_name = "filesystem" ,
137- parse_version = ParseVersion .MINOR ,
138- ),
139- Replacement (
140- regex_in_build_description = "%%minor_ver%%" ,
141- file_name = "replacementfile" ,
142- package_name = "filesystem" ,
143- parse_version = ParseVersion .MINOR ,
144- ),
145- ],
146- )
147- )
123+ DevelopmentContainer (
124+ ** _BASE_KWARGS ,
125+ build_recipe_type = BuildType .DOCKER ,
126+ replacements_via_service = [
127+ Replacement (regex_in_build_description = "%%my_ver%%" , package_name = "sh" ),
128+ Replacement (
129+ regex_in_build_description = "%%minor_ver%%" ,
130+ package_name = "filesystem" ,
131+ parse_version = ParseVersion .MINOR ,
132+ ),
133+ Replacement (
134+ regex_in_build_description = "%%minor_ver%%" ,
135+ file_name = "replacementfile" ,
136+ package_name = "filesystem" ,
137+ parse_version = ParseVersion .MINOR ,
138+ ),
139+ ],
140+ )._service_file_contents
148141 == """<services>
149- <service mode="buildtime" name="docker_label_helper" />
150- <service mode="buildtime" name="kiwi_metainfo_helper" />
142+ <service name="docker_label_helper" mode="buildtime" />
143+ <service name="kiwi_metainfo_helper" mode="buildtime" />
151144 <service name="replace_using_package_version" mode="buildtime">
152145 <param name="file">Dockerfile</param>
153146 <param name="regex">%%my_ver%%</param>
@@ -181,15 +174,11 @@ def test_service_with_multi_flavor_docker():
181174 )
182175 for flavor in ("flavor1" , "flavor2" )
183176 ]
184- ContainerCrate (containers )
185-
186177 assert (
187- SERVICE_TEMPLATE .render (
188- image = containers [0 ],
189- )
178+ MultiBuildObsPackage .from_bcis (containers )._service_file_contents
190179 == """<services>
191- <service mode="buildtime" name="docker_label_helper" />
192- <service mode="buildtime" name="kiwi_metainfo_helper" />
180+ <service name="docker_label_helper" mode="buildtime" />
181+ <service name="kiwi_metainfo_helper" mode="buildtime" />
193182 <service name="replace_using_package_version" mode="buildtime">
194183 <param name="file">Dockerfile.flavor1</param>
195184 <param name="regex">%%my_ver%%</param>
0 commit comments