pulp-python 3.31.1__py3-none-any.whl → 3.31.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@ class PulpPythonPluginAppConfig(PulpPluginAppConfig):
12
12
 
13
13
  name = "pulp_python.app"
14
14
  label = "python"
15
- version = "3.31.1"
15
+ version = "3.31.2"
16
16
  python_package_name = "pulp-python"
17
17
  domain_compatible = True
18
18
 
@@ -9,7 +9,6 @@ from bandersnatch.master import Master
9
9
  from bandersnatch.mirror import Mirror
10
10
  from lxml.etree import LxmlError
11
11
  from packaging.requirements import Requirement
12
- from pypi_attestations import Provenance
13
12
  from pypi_simple import IndexPage
14
13
 
15
14
  from pulpcore.plugin.download import HttpDownloader
@@ -28,6 +27,7 @@ from pulp_python.app.models import (
28
27
  PythonPackageContent,
29
28
  PythonRemote,
30
29
  )
30
+ from pulp_python.app.provenance import Provenance
31
31
  from pulp_python.app.utils import PYPI_LAST_SERIAL, aget_remote_simple_page, parse_metadata
32
32
 
33
33
  logger = logging.getLogger(__name__)
@@ -154,6 +154,54 @@ def test_attestation_sync_upload(python_bindings, twine_package, download_python
154
154
  assert att_bundle["publisher"]["kind"] == "Pulp User"
155
155
 
156
156
 
157
+ @pytest.mark.parallel
158
+ def test_sync_pulp_created_provenance(
159
+ domain_factory,
160
+ python_bindings,
161
+ twine_package,
162
+ python_repo_factory,
163
+ python_distribution_factory,
164
+ python_remote_factory,
165
+ python_repo_with_sync,
166
+ python_content_summary,
167
+ monitor_task,
168
+ ):
169
+ """Test syncing provenance across domains from a Pulp upload."""
170
+ source_domain = domain_factory()
171
+ attestations = get_attestations(twine_package.provenance_url)
172
+ source_repo = python_repo_factory(pulp_domain=source_domain.name)
173
+ body = {
174
+ "relative_path": twine_package.filename,
175
+ "file_url": twine_package.url,
176
+ "attestations": json.dumps(attestations),
177
+ "repository": source_repo.pulp_href,
178
+ }
179
+ task = python_bindings.ContentPackagesApi.create(pulp_domain=source_domain.name, **body).task
180
+ monitor_task(task)
181
+
182
+ source_distro = python_distribution_factory(
183
+ repository=source_repo, pulp_domain=source_domain.name
184
+ )
185
+ dest_domain = domain_factory()
186
+ remote = python_remote_factory(
187
+ url=source_distro.base_url,
188
+ provenance=True,
189
+ includes=[f"twine=={twine_package.version}"],
190
+ pulp_domain=dest_domain.name,
191
+ )
192
+ dest_repo = python_repo_with_sync(remote=remote, pulp_domain=dest_domain.name)
193
+
194
+ summary = python_content_summary(repository_version=dest_repo.latest_version_href)
195
+ assert summary.present["python.provenance"]["count"] == 1
196
+
197
+ provs = python_bindings.ContentProvenanceApi.list(
198
+ repository_version=dest_repo.latest_version_href,
199
+ pulp_domain=dest_domain.name,
200
+ )
201
+ assert provs.count == 1
202
+ assert provs.results[0].provenance["attestation_bundles"][0]["publisher"]["kind"] == "Pulp User"
203
+
204
+
157
205
  def test_attestation_twine_upload(
158
206
  pulpcore_bindings,
159
207
  python_content_summary,
@@ -203,7 +203,6 @@ def test_package_creation_with_metadata(
203
203
  )
204
204
 
205
205
 
206
- @pytest.mark.parallel
207
206
  def test_disallow_package_substitution(
208
207
  monitor_task,
209
208
  python_bindings,
@@ -272,7 +271,6 @@ def test_disallow_package_substitution(
272
271
  assert repo.latest_version_href.endswith("/2/")
273
272
 
274
273
 
275
- @pytest.mark.parallel
276
274
  def test_package_substitution_allowed_by_default(
277
275
  monitor_task,
278
276
  python_bindings,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-python
3
- Version: 3.31.1
3
+ Version: 3.31.2
4
4
  Summary: pulp-python plugin for the Pulp Project
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -1,6 +1,6 @@
1
1
  pulp_python/__init__.py,sha256=GIuTLoBTc-07dSLJUh8xrZPRz8x-jJ61pfR0J1IjnzI,65
2
2
  pulp_python/pytest_plugin.py,sha256=LNnLjOkeEu2X4gJi614bHVmbsHyEwooHYIeecr96Qy4,8606
3
- pulp_python/app/__init__.py,sha256=4lv4KIJNAc1NnkGHoQhjfnpxtzDAwzEpXNL9pn_xIJQ,2490
3
+ pulp_python/app/__init__.py,sha256=Sxuni7NCBKiQ9nYqBToQB56-Q_DWCCPnQoqqzDiM1KU,2490
4
4
  pulp_python/app/exceptions.py,sha256=mPNcWyuzF0XeOPybm-G6oDKtRqvfj4jyp41iaYqcqkA,1314
5
5
  pulp_python/app/global_access_conditions.py,sha256=MZJtyoVsr-4hRaty6mKDqh3caOHd5UKJjEWLV2crOLs,1080
6
6
  pulp_python/app/modelresource.py,sha256=4SFAdqk6lozi_cZz4uqDIqhqPAZF-7l5jJwPn-xGZFs,1249
@@ -45,7 +45,7 @@ pulp_python/app/pypi/views.py,sha256=F55Zp4GPAQDVk936Szu2ECge8p1-5A160iqzrMDTZGc
45
45
  pulp_python/app/tasks/__init__.py,sha256=lTFpVvpDKbqv9RC0b2RYU8Bo6svDjrA-djt16pADFr8,284
46
46
  pulp_python/app/tasks/publish.py,sha256=bjsJzqJbLu7TF5rLb-UsZMmlNnc_LKw-sdHX9Gcatbw,4334
47
47
  pulp_python/app/tasks/repair.py,sha256=5InzdbjW8y3AC4Vj2PsNLm3wGGTr8D3LcfPw_WA2Fks,12257
48
- pulp_python/app/tasks/sync.py,sha256=_alhmNMVxEGo6touaXuNMkBZH7gv-zdo_gxUmUyPGHY,12886
48
+ pulp_python/app/tasks/sync.py,sha256=kD1E_Y8lzsUP2T6gZ58lESkV5dkjj8uOPoqsDYh6jcs,12895
49
49
  pulp_python/app/tasks/upload.py,sha256=HBOknlsAb0mlE-2dJsalH_8JUZwrKk4AsVibmVJf2aQ,6102
50
50
  pulp_python/app/tasks/vulnerability_report.py,sha256=0cyxNb4048HFUdUlGBA6wYsg-hEMjSfE8mtw05Ct9BQ,1126
51
51
  pulp_python/app/webserver_snippets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -56,11 +56,11 @@ pulp_python/tests/functional/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
56
56
  pulp_python/tests/functional/constants.py,sha256=4e_zssE9G1bSNNJxYo7VgwvojUL_NocG5mUH996KBJs,13969
57
57
  pulp_python/tests/functional/utils.py,sha256=GWnXrsQGZd0Ngewa_9yce58Qc3z7FbrlRvqao_8ZML0,5901
58
58
  pulp_python/tests/functional/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- pulp_python/tests/functional/api/test_attestations.py,sha256=cyZl4jCL-Q5Qu7XpxLc5_YmCzyc1Ctfl1IvSJ6YPQQU,8640
59
+ pulp_python/tests/functional/api/test_attestations.py,sha256=tvRSsHyQVkoAp-Myoo_Y_7gz-HyNR8EA8G1yvik3dEg,10358
60
60
  pulp_python/tests/functional/api/test_auto_publish.py,sha256=uCIt4LsO61oMk3bDs3LMQDJI8zkKqvY0b1uX16bTxzM,1747
61
61
  pulp_python/tests/functional/api/test_blocklist.py,sha256=IWzlazoQbrfyHNq9bNAa9FcbShWqzC2Zhq8qrN7HBwg,5994
62
62
  pulp_python/tests/functional/api/test_consume_content.py,sha256=-7b6KOrIT3NLSUafeu1tzXEXRPddDbS5VeMHxMIy2n8,999
63
- pulp_python/tests/functional/api/test_crud_content_unit.py,sha256=R5Gvl4ZjW1eQHmrbqsR0zfzKANBxEKwlr_lugHir7Kk,13794
63
+ pulp_python/tests/functional/api/test_crud_content_unit.py,sha256=S14yzx0HrRtSbs1uhvfQRPge6gB--ZOEqSescDtOtD8,13750
64
64
  pulp_python/tests/functional/api/test_crud_publications.py,sha256=3cuSDC9C9M1opt0lh5ObGj8t7gq5jUW-RWj6MrA4Teo,5647
65
65
  pulp_python/tests/functional/api/test_crud_remotes.py,sha256=clFFhgG5udyKzWOLwxpmwjhiVz8r5JEPAQHkztcAf9w,5812
66
66
  pulp_python/tests/functional/api/test_domains.py,sha256=uEA7dIBXaXah3WQ6g6xSIjdXOR_hrsQnSFrfbdtz8bg,10421
@@ -78,9 +78,9 @@ pulp_python/tests/functional/assets/shelf-reader-0.1.tar.gz.publish.attestation,
78
78
  pulp_python/tests/functional/assets/shelf_reader-0.1-py2-none-any.whl.publish.attestation,sha256=muTQ8dqYSSdx76DlaPjB1REcNIS-aak-Na0TkASxu8M,10426
79
79
  pulp_python/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
80
  pulp_python/tests/unit/test_models.py,sha256=TBI0yKsrdbnJSPeBFfxSqhXK7zaNvR6qg5JehGH3Pds,229
81
- pulp_python-3.31.1.dist-info/licenses/LICENSE,sha256=2ylvL381vKOhdO-w6zkrOxe9lLNBhRQpo9_0EbHC_HM,18046
82
- pulp_python-3.31.1.dist-info/METADATA,sha256=6e2XetKcAGtg0uFyrzCRlopqaA5CpofNwuOJrZrzN34,1744
83
- pulp_python-3.31.1.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
84
- pulp_python-3.31.1.dist-info/entry_points.txt,sha256=HvqLEXjw_dS5jqAwnE5JiRZFE6f-y5SRtitKLPml2To,115
85
- pulp_python-3.31.1.dist-info/top_level.txt,sha256=X0hXgXc_bpbiKqVrkt8jD5_QEiQviKbHDwveQcOcJjo,12
86
- pulp_python-3.31.1.dist-info/RECORD,,
81
+ pulp_python-3.31.2.dist-info/licenses/LICENSE,sha256=2ylvL381vKOhdO-w6zkrOxe9lLNBhRQpo9_0EbHC_HM,18046
82
+ pulp_python-3.31.2.dist-info/METADATA,sha256=baT0dVyozWQL7UQh3iIuFCMtqGNoEAEf1lAqhq4_F_0,1744
83
+ pulp_python-3.31.2.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
84
+ pulp_python-3.31.2.dist-info/entry_points.txt,sha256=HvqLEXjw_dS5jqAwnE5JiRZFE6f-y5SRtitKLPml2To,115
85
+ pulp_python-3.31.2.dist-info/top_level.txt,sha256=X0hXgXc_bpbiKqVrkt8jD5_QEiQviKbHDwveQcOcJjo,12
86
+ pulp_python-3.31.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (82.0.1)
2
+ Generator: setuptools (83.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5