From 05b2bb2f298db15b934c066ce30b4db4cfb06b32 Mon Sep 17 00:00:00 2001 From: vsedmik <46570670+vsedmik@users.noreply.github.com> Date: Mon, 11 Nov 2024 09:58:19 +0100 Subject: [PATCH] Add docker_manifest_lists endpoint (#1240) --- nailgun/entities.py | 22 ++++++++++++++++++++++ tests/test_entities.py | 2 ++ 2 files changed, 24 insertions(+) diff --git a/nailgun/entities.py b/nailgun/entities.py index 5046f560..3f29b28f 100644 --- a/nailgun/entities.py +++ b/nailgun/entities.py @@ -6938,6 +6938,8 @@ def path(self, which=None): docker_manifests /repositories//docker_manifests + docker_manifest_lists + /repositories//docker_manifest_lists errata /repositories//errata files @@ -6962,6 +6964,7 @@ def path(self, which=None): """ if which in ( 'docker_manifests', + 'docker_manifest_lists', 'errata', 'files', 'packages', @@ -7020,6 +7023,25 @@ def docker_manifests(self, synchronous=True, timeout=None, **kwargs): response = client.get(self.path('docker_manifests'), **kwargs) return _handle_response(response, self._server_config, synchronous, timeout) + def docker_manifest_lists(self, synchronous=True, timeout=None, **kwargs): + """List docker manifest lists inside repository. + + :param synchronous: What should happen if the server returns an HTTP + 202 (accepted) status code? Wait for the task to complete if + ``True``. Immediately return the server's response otherwise. + :param timeout: Maximum number of seconds to wait until timing out. + Defaults to ``nailgun.entity_mixins.TASK_TIMEOUT``. + :param kwargs: Arguments to pass to requests. + :returns: The server's response, with all JSON decoded. + :raises: ``requests.exceptions.HTTPError`` If the server responds with + an HTTP 4XX or 5XX message. + + """ + kwargs = kwargs.copy() + kwargs.update(self._server_config.get_client_kwargs()) + response = client.get(self.path('docker_manifest_lists'), **kwargs) + return _handle_response(response, self._server_config, synchronous, timeout) + def delete_with_args(self, synchronous=True, timeout=None, **kwargs): """Delete a repository, and respect args passed to it. diff --git a/tests/test_entities.py b/tests/test_entities.py index 2ad8d261..8cebd9c3 100644 --- a/tests/test_entities.py +++ b/tests/test_entities.py @@ -346,6 +346,7 @@ def test_id_and_which(self): (entities.Product, 'sync'), (entities.PuppetClass, 'smart_class_parameters'), (entities.Repository, 'docker_manifests'), + (entities.Repository, 'docker_manifest_lists'), (entities.Repository, 'errata'), (entities.Repository, 'packages'), (entities.Repository, 'remove_content'), @@ -2177,6 +2178,7 @@ def setUpClass(cls): (entities.RHCIDeployment(**generic).deploy, 'put'), (entities.RecurringLogic(**generic).cancel, 'post'), (entities.Repository(**generic).docker_manifests, 'get'), + (entities.Repository(**generic).docker_manifest_lists, 'get'), (entities.Repository(**generic).errata, 'get'), (entities.Repository(**generic).packages, 'get'), (entities.Repository(**generic).module_streams, 'get'),