99from pulpcore .exceptions .validation import InvalidSignatureError
1010
1111from pulp_rpm .app .shared_utils import RpmTool
12- from pulp_rpm .tests .functional .constants import RPM_PACKAGE_FILENAME , RPM_UNSIGNED_URL
12+ from pulp_rpm .tests .functional .constants import (
13+ RPM_PACKAGE_FILENAME ,
14+ RPM_PACKAGE_FILENAME2 ,
15+ RPM_UNSIGNED_URL ,
16+ RPM_UNSIGNED_URL2 ,
17+ )
1318from pulp_rpm .tests .functional .utils import get_package_repo_path
1419
1520
@@ -94,17 +99,18 @@ def test_sign_package_on_upload(
9499 # Upload Package to Repository
95100 # The same file is uploaded, but signed with different keys each time
96101 for fingerprint in fingerprint_set :
102+ prefixed_fingerprint = f"v4:{ fingerprint } "
97103 repository = rpm_repository_factory (
98104 package_signing_service = rpm_package_signing_service .pulp_href ,
99- package_signing_fingerprint = fingerprint ,
105+ package_signing_fingerprint = prefixed_fingerprint ,
100106 )
101107 upload_response = rpm_package_api .create (
102108 file = str (file_to_upload .absolute ()),
103109 repository = repository .pulp_href ,
104110 )
105111 package_href = monitor_task (upload_response .task ).created_resources [2 ]
106112 package = rpm_package_api .read (package_href )
107- assert package .signing_keys == [fingerprint ]
113+ assert package .signing_keys == [prefixed_fingerprint ]
108114
109115 # Verify that the final served package is signed
110116 publication = rpm_publication_factory (repository = repository .pulp_href )
@@ -121,7 +127,7 @@ def test_sign_package_on_upload(
121127 repository = rpm_repository_api .read (repository .pulp_href )
122128 assert (
123129 rpm_package_api .list (
124- repository_version = repository .latest_version_href , signing_key = fingerprint
130+ repository_version = repository .latest_version_href , signing_key = prefixed_fingerprint
125131 ).count
126132 == 1
127133 )
@@ -216,17 +222,18 @@ def test_sign_chunked_package_on_upload(
216222 rpm_tool .import_pubkey_string (gpg_a .pubkey )
217223 rpm_tool .import_pubkey_string (gpg_b .pubkey )
218224
219- file_to_upload = tmp_path / RPM_PACKAGE_FILENAME
220- file_to_upload .write_bytes (requests .get (RPM_UNSIGNED_URL ).content )
225+ file_to_upload = tmp_path / RPM_PACKAGE_FILENAME2
226+ file_to_upload .write_bytes (requests .get (RPM_UNSIGNED_URL2 ).content )
221227 with pytest .raises (InvalidSignatureError , match = "The package is not signed: .*" ):
222228 rpm_tool .verify_signature (file_to_upload )
223229
224230 # Upload Package to Repository
225231 # The same file is uploaded, but signed with different keys each time
226232 for fingerprint in fingerprint_set :
233+ prefixed_fingerprint = f"v4:{ fingerprint } "
227234 repository = rpm_repository_factory (
228235 package_signing_service = rpm_package_signing_service .pulp_href ,
229- package_signing_fingerprint = fingerprint ,
236+ package_signing_fingerprint = prefixed_fingerprint ,
230237 )
231238 file_chunks_data = pulpcore_chunked_file_factory (file_to_upload )
232239 size = file_chunks_data ["size" ]
@@ -240,7 +247,7 @@ def test_sign_chunked_package_on_upload(
240247 )
241248 package_href = monitor_task (upload_response .task ).created_resources [2 ]
242249 package = rpm_package_api .read (package_href )
243- assert package .signing_keys == [fingerprint ]
250+ assert package .signing_keys == [prefixed_fingerprint ]
244251
245252 # Verify that the final served package is signed
246253 publication = rpm_publication_factory (repository = repository .pulp_href )
@@ -271,6 +278,7 @@ def test_signed_repo_modify(
271278 """Ensure packages added via modify are signed before distribution."""
272279
273280 gpg , fingerprint , _ = signing_gpg_metadata
281+ prefixed_fingerprint = f"v4:{ fingerprint } "
274282
275283 rpm_tool = RpmTool (tmp_path )
276284 rpm_tool .import_pubkey_string (gpg .export_keys (fingerprint ))
@@ -283,7 +291,7 @@ def test_signed_repo_modify(
283291
284292 repository = rpm_repository_factory (
285293 package_signing_service = rpm_package_signing_service .pulp_href ,
286- package_signing_fingerprint = fingerprint ,
294+ package_signing_fingerprint = prefixed_fingerprint ,
287295 )
288296
289297 created_package = rpm_package_factory (url = RPM_UNSIGNED_URL )
@@ -299,7 +307,7 @@ def test_signed_repo_modify(
299307 repository_version = repository .latest_version_href
300308 ).results [0 ]
301309 assert signed_package .pulp_href != created_package .pulp_href
302- assert signed_package .signing_keys == [fingerprint ]
310+ assert signed_package .signing_keys == [prefixed_fingerprint ]
303311 assert signed_package .time_file != created_package .time_file
304312 assert sorted (task_result .created_resources ) == sorted (
305313 [repository .latest_version_href , signed_package .pulp_href , signed_package .artifact ]
@@ -342,14 +350,15 @@ def test_already_signed_package(
342350 """Don't sign a package if it's already signed with our key."""
343351
344352 _ , fingerprint , _ = signing_gpg_metadata
353+ prefixed_fingerprint = f"v4:{ fingerprint } "
345354
346355 repo_one = rpm_repository_factory (
347356 package_signing_service = rpm_package_signing_service .pulp_href ,
348- package_signing_fingerprint = fingerprint ,
357+ package_signing_fingerprint = prefixed_fingerprint ,
349358 )
350359 repo_two = rpm_repository_factory (
351360 package_signing_service = rpm_package_signing_service .pulp_href ,
352- package_signing_fingerprint = fingerprint ,
361+ package_signing_fingerprint = prefixed_fingerprint ,
353362 )
354363
355364 created_package = rpm_package_factory (url = RPM_UNSIGNED_URL )
@@ -366,7 +375,7 @@ def test_already_signed_package(
366375 repository_version = repo_one .latest_version_href
367376 ).results
368377 signed_package_href = repo_one_packages [0 ].pulp_href
369- assert repo_one_packages [0 ].signing_keys == [fingerprint ]
378+ assert repo_one_packages [0 ].signing_keys == [prefixed_fingerprint ]
370379 assert len (repo_one_packages ) == 1
371380 assert sorted (task_result .created_resources ) == sorted (
372381 [signed_package_href , repo_one_packages [0 ].artifact , repo_one .latest_version_href ]
@@ -402,7 +411,7 @@ def test_signed_repo_rejects_on_demand_content(
402411 _ , fingerprint , _ = signing_gpg_metadata
403412 destination_repo = rpm_repository_factory (
404413 package_signing_service = rpm_package_signing_service .pulp_href ,
405- package_signing_fingerprint = fingerprint ,
414+ package_signing_fingerprint = f"v4: { fingerprint } " ,
406415 )
407416
408417 packages = rpm_package_api .list (repository_version = source_repo .latest_version_href ).results
0 commit comments