99from gardenlinux .s3 .s3_artifacts import S3Artifacts
1010
1111RELEASE_DATA = """
12+ GARDENLINUX_CNAME = container-amd64-1234.1-abc123
1213 GARDENLINUX_VERSION = 1234.1
1314 GARDENLINUX_COMMIT_ID = abc123
1415 GARDENLINUX_COMMIT_ID_LONG = abc123long
1516 GARDENLINUX_FEATURES = _usi,_trustedboot
17+ GARDENLINUX_FEATURES_ELEMENTS =
18+ GARDENLINUX_FEATURES_FLAGS = _usi,_trustedboot
19+ GARDENLINUX_FEATURES_PLATFORM = container
1620 """
1721
1822
@@ -101,7 +105,7 @@ def test_upload_from_directory_success(s3_setup):
101105 release_path = env .tmp_path / f"{ env .cname } .release"
102106 release_path .write_text (RELEASE_DATA )
103107
104- for filename in [f"{ env .cname } -file1" , f"{ env .cname } -file2" ]:
108+ for filename in [f"{ env .cname } -file1" , f"{ env .cname } -file2" , "container" ]:
105109 (env .tmp_path / filename ).write_bytes (b"dummy content" )
106110
107111 # Act
@@ -124,7 +128,7 @@ def test_upload_from_directory_success(s3_setup):
124128 Bucket = env .bucket_name , Key = f"objects/{ env .cname } /{ env .cname } -file1"
125129 )
126130 tags = {tag ["Key" ]: tag ["Value" ] for tag in raw_tags_response ["TagSet" ]}
127- assert tags ["platform" ] == "container+kvm "
131+ assert tags ["platform" ] == "container"
128132
129133
130134def test_upload_from_directory_with_delete (s3_setup ):
@@ -160,30 +164,6 @@ def test_upload_from_directory_with_delete(s3_setup):
160164 assert f"meta/singles/{ env .cname } " in keys
161165
162166
163- def test_upload_from_directory_arch_none_raises (monkeypatch , s3_setup ):
164- """Raise RuntimeError when CName has no arch"""
165- # Arrange
166- env = s3_setup
167- release_path = env .tmp_path / f"{ env .cname } .release"
168- release_path .write_text (RELEASE_DATA )
169-
170- # Monkeypatch CName to simulate missing architecture
171- import gardenlinux .s3 .s3_artifacts as s3art
172-
173- class DummyCName :
174- arch = None
175-
176- def __init__ (self , cname ):
177- pass
178-
179- monkeypatch .setattr (s3art , "CName" , DummyCName )
180-
181- # Act / Assert
182- artifacts = S3Artifacts (env .bucket_name )
183- with pytest .raises (RuntimeError , match = "Architecture could not be determined" ):
184- artifacts .upload_from_directory (env .cname , env .tmp_path )
185-
186-
187167def test_upload_from_directory_invalid_dir_raises (s3_setup ):
188168 """Raise RuntimeError if artifacts_dir is invalid"""
189169 env = s3_setup
@@ -204,41 +184,20 @@ def test_upload_from_directory_version_mismatch_raises(s3_setup):
204184 artifacts = S3Artifacts (env .bucket_name )
205185
206186 # Act / Assert
207- with pytest .raises (RuntimeError , match = "Version " ):
187+ with pytest .raises (RuntimeError , match = "failed consistency check " ):
208188 artifacts .upload_from_directory (env .cname , env .tmp_path )
209189
210190
211- def test_upload_from_directory_none_version_raises (monkeypatch , s3_setup ):
191+ def test_upload_from_directory_succeeds_because_of_release_file (monkeypatch , s3_setup ):
212192 """
213193 Raise RuntimeError if CName.version is None.
214194 """
215195 # Arrange
216196 env = s3_setup
217- (env .tmp_path / f"{ env .cname } .release" ).write_text (RELEASE_DATA )
218-
219- import gardenlinux .s3 .s3_artifacts as s3art
220-
221- # Monkeypatch CName to force Cname.version to be None and avoid
222- # class internal error checks
223- class DummyCName :
224- arch = "amd64"
225- version = None
226- commit_id = "abc123"
227- platform = "aws"
228-
229- def __init__ (self , cname ):
230- pass
197+ (env .tmp_path / f"container.release" ).write_text (RELEASE_DATA )
231198
232- monkeypatch .setattr (s3art , "CName" , DummyCName )
233-
234- artifacts = s3art .S3Artifacts (env .bucket_name )
235-
236- # Act / Assert
237- with pytest .raises (
238- RuntimeError ,
239- match = "Release file data and given cname conflict detected: Version None" ,
240- ):
241- artifacts .upload_from_directory (env .cname , env .tmp_path )
199+ artifacts = S3Artifacts (env .bucket_name )
200+ artifacts .upload_from_directory ("container" , env .tmp_path )
242201
243202
244203def test_upload_from_directory_invalid_artifact_name (s3_setup ):
@@ -273,7 +232,7 @@ def test_upload_from_directory_commit_mismatch_raises(s3_setup):
273232 artifacts = S3Artifacts (env .bucket_name )
274233
275234 # Act / Assert
276- with pytest .raises (RuntimeError , match = "Commit ID " ):
235+ with pytest .raises (RuntimeError , match = "failed consistency check " ):
277236 artifacts .upload_from_directory (env .cname , env .tmp_path )
278237
279238
0 commit comments