pulp-python 3.12.3__tar.gz → 3.12.5__tar.gz
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.
- {pulp-python-3.12.3 → pulp-python-3.12.5}/CHANGES.md +18 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/MANIFEST.in +1 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/PKG-INFO +1 -1
- {pulp-python-3.12.3 → pulp-python-3.12.5}/functest_requirements.txt +1 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/__init__.py +1 -1
- pulp-python-3.12.5/pulp_python/app/fields.py +12 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/pypi/serializers.py +4 -3
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/replica.py +8 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/serializers.py +7 -6
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/tasks/sync.py +2 -1
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/utils.py +7 -5
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_domains.py +29 -5
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/PKG-INFO +1 -1
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/SOURCES.txt +1 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/setup.py +1 -1
- {pulp-python-3.12.3 → pulp-python-3.12.5}/COMMITMENT +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/COPYRIGHT +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/LICENSE +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/README.md +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/global_access_conditions.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0001_initial.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0012_add_domain.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0013_add_rbac_permissions.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/modelresource.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/models.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/pypi/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/pypi/views.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/settings.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/tasks/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/tasks/publish.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/tasks/upload.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/urls.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/viewsets.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/webserver_snippets/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/webserver_snippets/apache.conf +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/pytest_plugin.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_download_content.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_export_import.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_rbac.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_sync.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/constants.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/utils.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/unit/__init__.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/unit/test_models.py +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/dependency_links.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/entry_points.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/requires.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python.egg-info/top_level.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/pyproject.toml +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/requirements.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/setup.cfg +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/test_requirements.txt +0 -0
- {pulp-python-3.12.3 → pulp-python-3.12.5}/unittest_requirements.txt +0 -0
|
@@ -8,6 +8,24 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
+
## 3.12.5 (2024-10-25) {: #3.12.5 }
|
|
12
|
+
|
|
13
|
+
#### Bugfixes {: #3.12.5-bugfix }
|
|
14
|
+
|
|
15
|
+
- Fixed the JSONField specification so it doesn't break ruby bindings.
|
|
16
|
+
See context [here](https://github.com/pulp/pulp_rpm/issues/3639).
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 3.12.4 (2024-10-14) {: #3.12.4 }
|
|
21
|
+
|
|
22
|
+
#### Bugfixes {: #3.12.4-bugfix }
|
|
23
|
+
|
|
24
|
+
- Fixed replicate failing on upstream on-demand repositories
|
|
25
|
+
[#718](https://github.com/pulp/pulp_python/issues/718)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
11
29
|
## 3.12.3 (2024-08-26) {: #3.12.3 }
|
|
12
30
|
|
|
13
31
|
#### Bugfixes {: #3.12.3-bugfix }
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from drf_spectacular.utils import extend_schema_field
|
|
2
|
+
from drf_spectacular.types import OpenApiTypes
|
|
3
|
+
from rest_framework import serializers
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@extend_schema_field(OpenApiTypes.OBJECT)
|
|
7
|
+
class JSONObjectField(serializers.JSONField):
|
|
8
|
+
"""A drf JSONField override to force openapi schema to use 'object' type.
|
|
9
|
+
|
|
10
|
+
Not strictly correct, but we relied on that for a long time.
|
|
11
|
+
See: https://github.com/tfranzel/drf-spectacular/issues/1095
|
|
12
|
+
"""
|
|
@@ -3,6 +3,7 @@ from gettext import gettext as _
|
|
|
3
3
|
|
|
4
4
|
from rest_framework import serializers
|
|
5
5
|
from pulp_python.app.utils import DIST_EXTENSIONS
|
|
6
|
+
from pulp_python.app import fields
|
|
6
7
|
from pulpcore.plugin.models import Artifact
|
|
7
8
|
from pulpcore.plugin.util import get_domain
|
|
8
9
|
from django.db.utils import IntegrityError
|
|
@@ -28,9 +29,9 @@ class PackageMetadataSerializer(serializers.Serializer):
|
|
|
28
29
|
"""
|
|
29
30
|
|
|
30
31
|
last_serial = serializers.IntegerField(help_text=_("Cache value from last PyPI sync"))
|
|
31
|
-
info =
|
|
32
|
-
releases =
|
|
33
|
-
urls =
|
|
32
|
+
info = fields.JSONObjectField(help_text=_("Core metadata of the package"))
|
|
33
|
+
releases = fields.JSONObjectField(help_text=_("List of all the releases of the package"))
|
|
34
|
+
urls = fields.JSONObjectField()
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
class PackageUploadSerializer(serializers.Serializer):
|
|
@@ -28,6 +28,14 @@ class PythonReplicator(Replicator):
|
|
|
28
28
|
# strain the upstream Pulp.
|
|
29
29
|
return {"policy": "immediate", "prereleases": True}
|
|
30
30
|
|
|
31
|
+
def url(self, upstream_distribution):
|
|
32
|
+
# Ignore distributions that are only pull-through
|
|
33
|
+
repo, pub = upstream_distribution["repository"], upstream_distribution["publication"]
|
|
34
|
+
if repo or pub:
|
|
35
|
+
return super().url(upstream_distribution)
|
|
36
|
+
|
|
37
|
+
return None
|
|
38
|
+
|
|
31
39
|
def repository_extra_fields(self, remote):
|
|
32
40
|
# Use autopublish since publications result in faster serving times
|
|
33
41
|
return {"autopublish": True}
|
|
@@ -8,6 +8,7 @@ from pulpcore.plugin import serializers as core_serializers
|
|
|
8
8
|
from pulpcore.plugin.util import get_domain
|
|
9
9
|
|
|
10
10
|
from pulp_python.app import models as python_models
|
|
11
|
+
from pulp_python.app import fields
|
|
11
12
|
from pulp_python.app.utils import get_project_metadata_from_artifact, parse_project_metadata
|
|
12
13
|
|
|
13
14
|
|
|
@@ -157,7 +158,7 @@ class PythonPackageContentSerializer(core_serializers.SingleArtifactContentUploa
|
|
|
157
158
|
required=False, allow_blank=True,
|
|
158
159
|
help_text=_('A browsable URL for the project and a label for it, separated by a comma.')
|
|
159
160
|
)
|
|
160
|
-
project_urls =
|
|
161
|
+
project_urls = fields.JSONObjectField(
|
|
161
162
|
required=False, default=dict,
|
|
162
163
|
help_text=_('A dictionary of labels and URLs for the project.')
|
|
163
164
|
)
|
|
@@ -170,28 +171,28 @@ class PythonPackageContentSerializer(core_serializers.SingleArtifactContentUploa
|
|
|
170
171
|
required=False, allow_blank=True,
|
|
171
172
|
help_text=_('Field to specify the OS and CPU for which the binary package was compiled. ')
|
|
172
173
|
)
|
|
173
|
-
requires_dist =
|
|
174
|
+
requires_dist = fields.JSONObjectField(
|
|
174
175
|
required=False, default=list,
|
|
175
176
|
help_text=_('A JSON list containing names of some other distutils project '
|
|
176
177
|
'required by this distribution.')
|
|
177
178
|
)
|
|
178
|
-
provides_dist =
|
|
179
|
+
provides_dist = fields.JSONObjectField(
|
|
179
180
|
required=False, default=list,
|
|
180
181
|
help_text=_('A JSON list containing names of a Distutils project which is contained'
|
|
181
182
|
' within this distribution.')
|
|
182
183
|
)
|
|
183
|
-
obsoletes_dist =
|
|
184
|
+
obsoletes_dist = fields.JSONObjectField(
|
|
184
185
|
required=False, default=list,
|
|
185
186
|
help_text=_('A JSON list containing names of a distutils project\'s distribution which '
|
|
186
187
|
'this distribution renders obsolete, meaning that the two projects should not '
|
|
187
188
|
'be installed at the same time.')
|
|
188
189
|
)
|
|
189
|
-
requires_external =
|
|
190
|
+
requires_external = fields.JSONObjectField(
|
|
190
191
|
required=False, default=list,
|
|
191
192
|
help_text=_('A JSON list containing some dependency in the system that the distribution '
|
|
192
193
|
'is to be used.')
|
|
193
194
|
)
|
|
194
|
-
classifiers =
|
|
195
|
+
classifiers = fields.JSONObjectField(
|
|
195
196
|
required=False, default=list,
|
|
196
197
|
help_text=_('A JSON list containing classification values for a Python package.')
|
|
197
198
|
)
|
|
@@ -256,8 +256,9 @@ class PulpMirror(Mirror):
|
|
|
256
256
|
for package in dists:
|
|
257
257
|
entry = parse_metadata(pkg.info, version, package)
|
|
258
258
|
url = entry.pop("url")
|
|
259
|
+
size = package["size"] or None
|
|
259
260
|
|
|
260
|
-
artifact = Artifact(sha256=entry["sha256"])
|
|
261
|
+
artifact = Artifact(sha256=entry["sha256"], size=size)
|
|
261
262
|
package = PythonPackageContent(**entry)
|
|
262
263
|
|
|
263
264
|
da = DeclarativeArtifact(
|
|
@@ -284,19 +284,21 @@ def python_content_to_download_info(content, base_path, domain=None):
|
|
|
284
284
|
if domain:
|
|
285
285
|
components.insert(2, domain.name)
|
|
286
286
|
url = "/".join(components)
|
|
287
|
+
md5 = artifact.md5 if artifact and artifact.md5 else ""
|
|
288
|
+
size = artifact.size if artifact and artifact.size else 0
|
|
287
289
|
return {
|
|
288
290
|
"comment_text": "",
|
|
289
|
-
"digests": {"md5":
|
|
291
|
+
"digests": {"md5": md5, "sha256": content.sha256},
|
|
290
292
|
"downloads": -1,
|
|
291
293
|
"filename": content.filename,
|
|
292
294
|
"has_sig": False,
|
|
293
|
-
"md5_digest":
|
|
295
|
+
"md5_digest": md5,
|
|
294
296
|
"packagetype": content.packagetype,
|
|
295
297
|
"python_version": content.python_version,
|
|
296
298
|
"requires_python": content.requires_python or None,
|
|
297
|
-
"size":
|
|
298
|
-
"upload_time": str(
|
|
299
|
-
"upload_time_iso_8601": str(
|
|
299
|
+
"size": size,
|
|
300
|
+
"upload_time": str(content.pulp_created),
|
|
301
|
+
"upload_time_iso_8601": str(content.pulp_created.isoformat()),
|
|
300
302
|
"url": url,
|
|
301
303
|
"yanked": False,
|
|
302
304
|
"yanked_reason": None
|
|
@@ -5,7 +5,12 @@ import subprocess
|
|
|
5
5
|
|
|
6
6
|
from pulpcore.app import settings
|
|
7
7
|
|
|
8
|
-
from pulp_python.tests.functional.constants import
|
|
8
|
+
from pulp_python.tests.functional.constants import (
|
|
9
|
+
PYTHON_URL,
|
|
10
|
+
PYTHON_EGG_FILENAME,
|
|
11
|
+
PYTHON_SM_PROJECT_SPECIFIER,
|
|
12
|
+
PYTHON_SM_PACKAGE_COUNT,
|
|
13
|
+
)
|
|
9
14
|
from urllib.parse import urlsplit
|
|
10
15
|
|
|
11
16
|
|
|
@@ -144,7 +149,7 @@ def test_domain_content_replication(
|
|
|
144
149
|
python_bindings,
|
|
145
150
|
python_file,
|
|
146
151
|
python_repo_factory,
|
|
147
|
-
|
|
152
|
+
python_remote_factory,
|
|
148
153
|
python_distribution_factory,
|
|
149
154
|
monitor_task,
|
|
150
155
|
monitor_task_group,
|
|
@@ -154,13 +159,12 @@ def test_domain_content_replication(
|
|
|
154
159
|
"""Test replication feature through the usage of domains."""
|
|
155
160
|
# Set up source domain to replicate from
|
|
156
161
|
source_domain = domain_factory()
|
|
157
|
-
repo = python_repo_factory(pulp_domain=source_domain.name)
|
|
162
|
+
repo = python_repo_factory(pulp_domain=source_domain.name, autopublish=True)
|
|
158
163
|
body = {"relative_path": PYTHON_EGG_FILENAME, "file": python_file, "repository": repo.pulp_href}
|
|
159
164
|
monitor_task(
|
|
160
165
|
python_bindings.ContentPackagesApi.create(pulp_domain=source_domain.name, **body).task
|
|
161
166
|
)
|
|
162
|
-
|
|
163
|
-
python_distribution_factory(publication=pub.pulp_href, pulp_domain=source_domain.name)
|
|
167
|
+
python_distribution_factory(repository=repo, pulp_domain=source_domain.name)
|
|
164
168
|
|
|
165
169
|
# Create the replica domain
|
|
166
170
|
replica_domain = domain_factory()
|
|
@@ -171,6 +175,7 @@ def test_domain_content_replication(
|
|
|
171
175
|
"domain": source_domain.name,
|
|
172
176
|
"username": bindings_cfg.username,
|
|
173
177
|
"password": bindings_cfg.password,
|
|
178
|
+
"tls_validation": False,
|
|
174
179
|
}
|
|
175
180
|
upstream_pulp = gen_object_with_cleanup(
|
|
176
181
|
pulpcore_bindings.UpstreamPulpsApi, upstream_pulp_body, pulp_domain=replica_domain.name
|
|
@@ -194,6 +199,25 @@ def test_domain_content_replication(
|
|
|
194
199
|
|
|
195
200
|
assert all(1 == x for x in counts.values()), f"Replica had more than 1 object {counts}"
|
|
196
201
|
|
|
202
|
+
# Test that we can replicate from an Upstream on-demand source (syncs are on-demand by default)
|
|
203
|
+
remote = python_remote_factory(
|
|
204
|
+
includes=PYTHON_SM_PROJECT_SPECIFIER, pulp_domain=source_domain.name
|
|
205
|
+
)
|
|
206
|
+
body = {"remote": remote.pulp_href}
|
|
207
|
+
monitor_task(python_bindings.RepositoriesPythonApi.sync(repo.pulp_href, body).task)
|
|
208
|
+
|
|
209
|
+
response = pulpcore_bindings.UpstreamPulpsApi.replicate(upstream_pulp.pulp_href)
|
|
210
|
+
monitor_task_group(response.task_group)
|
|
211
|
+
|
|
212
|
+
response = python_bindings.ContentPackagesApi.list(pulp_domain=replica_domain.name)
|
|
213
|
+
assert PYTHON_SM_PACKAGE_COUNT + 1 == response.count
|
|
214
|
+
response = python_bindings.PublicationsPypiApi.list(pulp_domain=replica_domain.name)
|
|
215
|
+
assert 2 == response.count
|
|
216
|
+
add_to_cleanup(python_bindings.PublicationsPypiApi, response.results[0])
|
|
217
|
+
assert 1 == python_bindings.RepositoriesPythonApi.list(pulp_domain=replica_domain.name).count
|
|
218
|
+
assert 1 == python_bindings.DistributionsPypiApi.list(pulp_domain=replica_domain.name).count
|
|
219
|
+
assert 1 == python_bindings.RemotesPythonApi.list(pulp_domain=replica_domain.name).count
|
|
220
|
+
|
|
197
221
|
|
|
198
222
|
@pytest.fixture
|
|
199
223
|
def shelf_reader_cleanup():
|
|
@@ -19,6 +19,7 @@ pulp_python.egg-info/entry_points.txt
|
|
|
19
19
|
pulp_python.egg-info/requires.txt
|
|
20
20
|
pulp_python.egg-info/top_level.txt
|
|
21
21
|
pulp_python/app/__init__.py
|
|
22
|
+
pulp_python/app/fields.py
|
|
22
23
|
pulp_python/app/global_access_conditions.py
|
|
23
24
|
pulp_python/app/modelresource.py
|
|
24
25
|
pulp_python/app/models.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0003_new_sync_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0010_update_json_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/app/migrations/0013_add_rbac_permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_auto_publish.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_consume_content.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_content_unit.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_publications.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_crud_remotes.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_download_content.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_export_import.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_full_mirror.py
RENAMED
|
File without changes
|
{pulp-python-3.12.3 → pulp-python-3.12.5}/pulp_python/tests/functional/api/test_pypi_apis.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|