From 6eccadca35de7dbfd4436c21e2161145e4b71e16 Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 26 Jun 2024 15:23:25 -0400 Subject: [PATCH] Fix upload not supporting package metadata 2.3 fixes: #682 (cherry picked from commit 781b9767dae34e8619e3831ff8ad07de1a6222ec) --- CHANGES/682.bugfix | 1 + .../functional/api/test_crud_content_unit.py | 15 +++++++++++++++ requirements.txt | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 CHANGES/682.bugfix diff --git a/CHANGES/682.bugfix b/CHANGES/682.bugfix new file mode 100644 index 00000000..4bf3e5b5 --- /dev/null +++ b/CHANGES/682.bugfix @@ -0,0 +1 @@ +Fixed uploads not supporting packages using metadata spec 2.3 diff --git a/pulp_python/tests/functional/api/test_crud_content_unit.py b/pulp_python/tests/functional/api/test_crud_content_unit.py index 2f385f3c..25834bc2 100644 --- a/pulp_python/tests/functional/api/test_crud_content_unit.py +++ b/pulp_python/tests/functional/api/test_crud_content_unit.py @@ -1,5 +1,6 @@ # coding=utf-8 """Tests that perform actions over content unit.""" +import pytest from pulp_smash.pulp3.bindings import delete_orphans, monitor_task, PulpTaskError from pulp_python.tests.functional.utils import ( @@ -12,6 +13,7 @@ from pulp_python.tests.functional.utils import set_up_module as setUpModule # noqa:F401 from tempfile import NamedTemporaryFile from urllib.parse import urljoin +from pypi_simple import PyPISimple from pulp_smash.utils import http_get from pulp_python.tests.functional.constants import ( @@ -227,3 +229,16 @@ def check_package_data(self, content_unit, expected=PYTHON_PACKAGE_DATA): for k, v in expected.items(): with self.subTest(key=k): self.assertEqual(content_unit[k], v) + + +@pytest.mark.parallel +def test_upload_metadata_23_spec(python_content_factory): + """Test that packages using metadata spec 2.3 can be uploaded to pulp.""" + filename = "urllib3-2.2.2-py3-none-any.whl" + with PyPISimple() as client: + page = client.get_project_page("urllib3") + for package in page.packages: + if package.filename == filename: + content = python_content_factory(filename, url=package.url) + assert content.metadata_version == "2.3" + break diff --git a/requirements.txt b/requirements.txt index 3d7b2059..35d01f9c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ pulpcore>=3.28,<3.55 -pkginfo>=1.8.2,<1.9.7 +pkginfo>=1.10.0,<1.12.0 # Twine has <1.11 in their requirements bandersnatch>=6.1,<6.2 pypi-simple>=0.9.0,<1.0.0