55
66from pulp_python.tests.functional.constants import (
77 PYPI_SERIAL_CONSTANT,
8- PYTHON_EGG_FILENAME,
9- PYTHON_EGG_SHA256,
10- PYTHON_EGG_URL,
118 PYTHON_SM_FIXTURE_CHECKSUMS,
129 PYTHON_SM_FIXTURE_RELEASES,
1310 PYTHON_SM_PROJECT_SPECIFIER,
14- PYTHON_WHEEL_FILENAME,
15- PYTHON_WHEEL_METADATA_SHA256,
16- PYTHON_WHEEL_SHA256,
17- PYTHON_WHEEL_URL,
18- PYTHON_XS_FIXTURE_CHECKSUMS,
11+ TWINE_EGG_FILENAME,
12+ TWINE_EGG_REQUIRES_PYTHON,
13+ TWINE_EGG_SHA256,
14+ TWINE_EGG_SIZE,
15+ TWINE_EGG_URL,
16+ TWINE_FIXTURE_CHECKSUMS,
17+ TWINE_FIXTURE_METADATA_SHA256,
18+ TWINE_FIXTURE_REQUIRES_PYTHON,
19+ TWINE_WHEEL_FILENAME,
20+ TWINE_WHEEL_METADATA_SHA256,
21+ TWINE_WHEEL_REQUIRES_PYTHON,
22+ TWINE_WHEEL_SHA256,
23+ TWINE_WHEEL_SIZE,
24+ TWINE_WHEEL_URL,
1925)
2026from pulp_python.tests.functional.utils import ensure_simple
2127
@@ -55,30 +61,27 @@ def test_simple_html_detail_api(
5561 python_distribution_factory,
5662 python_repo_factory,
5763):
58- content_1 = python_content_factory(PYTHON_WHEEL_FILENAME , url=PYTHON_WHEEL_URL )
59- content_2 = python_content_factory(PYTHON_EGG_FILENAME , url=PYTHON_EGG_URL )
64+ content_1 = python_content_factory(TWINE_WHEEL_FILENAME , url=TWINE_WHEEL_URL )
65+ content_2 = python_content_factory(TWINE_EGG_FILENAME , url=TWINE_EGG_URL )
6066 body = {"add_content_units": [content_1.pulp_href, content_2.pulp_href]}
6167
6268 repo = python_repo_factory()
6369 monitor_task(python_bindings.RepositoriesPythonApi.modify(repo.pulp_href, body).task)
6470 distro = python_distribution_factory(repository=repo)
6571
66- url = f'{urljoin(distro.base_url, "simple/")}shelf-reader '
72+ url = f'{urljoin(distro.base_url, "simple/")}twine '
6773 headers = {"Accept": PYPI_SIMPLE_V1_HTML}
6874
6975 response = requests.get(url, headers=headers)
7076 assert response.headers["Content-Type"] == PYPI_SIMPLE_V1_HTML
7177 assert response.headers["X-PyPI-Last-Serial"] == str(PYPI_SERIAL_CONSTANT)
7278
73- metadata_sha_digests = {
74- PYTHON_WHEEL_FILENAME: PYTHON_WHEEL_METADATA_SHA256,
75- PYTHON_EGG_FILENAME: None, # egg files should not have metadata
76- }
7779 proper, msgs = ensure_simple(
7880 urljoin(distro.base_url, "simple/"),
79- {"shelf-reader": [PYTHON_WHEEL_FILENAME, PYTHON_EGG_FILENAME]},
80- sha_digests=PYTHON_XS_FIXTURE_CHECKSUMS,
81- metadata_sha_digests=metadata_sha_digests,
81+ {"twine": [TWINE_WHEEL_FILENAME, TWINE_EGG_FILENAME]},
82+ sha_digests=TWINE_FIXTURE_CHECKSUMS,
83+ metadata_sha_digests=TWINE_FIXTURE_METADATA_SHA256,
84+ requires_python=TWINE_FIXTURE_REQUIRES_PYTHON,
8285 )
8386 assert proper, f"Simple API validation failed: {msgs}"
8487
@@ -114,15 +117,15 @@ def test_simple_json_detail_api(
114117 python_distribution_factory,
115118 python_repo_factory,
116119):
117- content_1 = python_content_factory(PYTHON_WHEEL_FILENAME , url=PYTHON_WHEEL_URL )
118- content_2 = python_content_factory(PYTHON_EGG_FILENAME , url=PYTHON_EGG_URL )
120+ content_1 = python_content_factory(TWINE_WHEEL_FILENAME , url=TWINE_WHEEL_URL )
121+ content_2 = python_content_factory(TWINE_EGG_FILENAME , url=TWINE_EGG_URL )
119122 body = {"add_content_units": [content_1.pulp_href, content_2.pulp_href]}
120123
121124 repo = python_repo_factory()
122125 monitor_task(python_bindings.RepositoriesPythonApi.modify(repo.pulp_href, body).task)
123126 distro = python_distribution_factory(repository=repo)
124127
125- url = f'{urljoin(distro.base_url, "simple/")}shelf-reader '
128+ url = f'{urljoin(distro.base_url, "simple/")}twine '
126129 headers = {"Accept": PYPI_SIMPLE_V1_JSON}
127130
128131 response = requests.get(url, headers=headers)
@@ -131,29 +134,31 @@ def test_simple_json_detail_api(
131134
132135 data = response.json()
133136 assert data["meta"] == {"api-version": API_VERSION, "_last-serial": PYPI_SERIAL_CONSTANT}
134- assert data["name"] == "shelf-reader "
137+ assert data["name"] == "twine "
135138 assert data["files"]
136- assert data["versions"] == ["0.1 "]
139+ assert data["versions"] == ["5.1.0 "]
137140
138141 # Check data of a wheel
139- file_whl = next((i for i in data["files"] if i["filename"] == PYTHON_WHEEL_FILENAME ), None)
142+ file_whl = next((i for i in data["files"] if i["filename"] == TWINE_WHEEL_FILENAME ), None)
140143 assert file_whl is not None, "wheel file not found"
141144 assert file_whl["url"]
142- assert file_whl["hashes"] == {"sha256": PYTHON_WHEEL_SHA256 }
143- assert file_whl["requires-python"] is None
144- assert file_whl["data-dist-info-metadata"] == {"sha256": PYTHON_WHEEL_METADATA_SHA256 }
145- assert file_whl["core-metadata"] == {"sha256": PYTHON_WHEEL_METADATA_SHA256 }
146- assert file_whl["size"] == 22455
145+ assert file_whl["hashes"] == {"sha256": TWINE_WHEEL_SHA256 }
146+ assert file_whl["requires-python"] == TWINE_WHEEL_REQUIRES_PYTHON
147+ assert file_whl["data-dist-info-metadata"] == {"sha256": TWINE_WHEEL_METADATA_SHA256 }
148+ assert file_whl["core-metadata"] == {"sha256": TWINE_WHEEL_METADATA_SHA256 }
149+ assert file_whl["size"] == TWINE_WHEEL_SIZE
147150 assert file_whl["upload-time"] is not None
151+ assert file_whl["provenance"] is None
152+
148153 # Check data of a tarball
149- file_tar = next((i for i in data["files"] if i["filename"] == PYTHON_EGG_FILENAME ), None)
154+ file_tar = next((i for i in data["files"] if i["filename"] == TWINE_EGG_FILENAME ), None)
150155 assert file_tar is not None, "tar file not found"
151156 assert file_tar["url"]
152- assert file_tar["hashes"] == {"sha256": PYTHON_EGG_SHA256 }
153- assert file_tar["requires-python"] is None
157+ assert file_tar["hashes"] == {"sha256": TWINE_EGG_SHA256 }
158+ assert file_tar["requires-python"] == TWINE_EGG_REQUIRES_PYTHON
154159 assert file_tar["data-dist-info-metadata"] is False
155160 assert file_tar["core-metadata"] is False
156- assert file_tar["size"] == 19097
161+ assert file_tar["size"] == TWINE_EGG_SIZE
157162 assert file_tar["upload-time"] is not None
158163 assert file_tar["provenance"] is None
159164
0 commit comments