Skip to content

Commit

Permalink
Fix V3 collection list endpoint
Browse files Browse the repository at this point in the history
https://pulp.plan.io/issues/8276
closes #8276

(cherry picked from commit 292d158)
  • Loading branch information
fao89 committed Mar 4, 2021
1 parent 1f1a14f commit 9f1d7e0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGES/8276.bugfix
@@ -0,0 +1 @@
Fix V3 collection list endpoint when repository is empty
2 changes: 1 addition & 1 deletion pulp_ansible/app/galaxy/v3/views.py
Expand Up @@ -280,7 +280,7 @@ def get_serializer_context(self, *args, **kwargs):
super_data = super().get_serializer_context()
if getattr(self, "available_versions_context", None):
super_data["available_versions"] = self.available_versions_context
super_data["deprecated_collections"] = self.deprecated_collections_context
super_data["deprecated_collections"] = getattr(self, "deprecated_collections_context", [])
return super_data

def update(self, request, *args, **kwargs):
Expand Down
9 changes: 9 additions & 0 deletions pulp_ansible/tests/functional/cli/test_collection_upload.py
Expand Up @@ -9,6 +9,7 @@

from pulpcore.client.pulp_ansible import (
DistributionsAnsibleApi,
PulpAnsibleGalaxyApiCollectionsApi,
PulpAnsibleGalaxyApiV3VersionsApi,
RemotesCollectionApi,
RepositoriesAnsibleApi,
Expand All @@ -33,6 +34,7 @@ def setUpClass(cls):
cls.repo_versions_api = RepositoriesAnsibleVersionsApi(cls.client)
cls.remote_collection_api = RemotesCollectionApi(cls.client)
cls.distributions_api = DistributionsAnsibleApi(cls.client)
cls.collections_v3api = PulpAnsibleGalaxyApiCollectionsApi(cls.client)
cls.collections_versions_v3api = PulpAnsibleGalaxyApiV3VersionsApi(cls.client)

def test_upload_collection(self):
Expand Down Expand Up @@ -88,6 +90,10 @@ def test_upload_collection_with_requires_ansible(self):
distribution = self.distributions_api.read(created_resources[0])

self.addCleanup(self.distributions_api.delete, distribution.pulp_href)

collections = self.collections_v3api.list(distribution.base_path)
self.assertEqual(collections.meta.count, 0)

colletion_path = os.path.join(
os.getcwd(), "pulp_ansible/tests/assets/collections/pulp-testing_asset-1.0.0.tar.gz"
)
Expand All @@ -98,6 +104,9 @@ def test_upload_collection_with_requires_ansible(self):
subprocess.run(cmd.split())
wait_tasks()

collections = self.collections_v3api.list(distribution.base_path)
self.assertEqual(collections.meta.count, 1)

repo = self.repo_api.read(repo.pulp_href)
repo_version = self.repo_versions_api.read(repo.latest_version_href)
self.assertEqual(repo_version.number, 1) # We uploaded 1 collection
Expand Down

0 comments on commit 9f1d7e0

Please sign in to comment.