diff --git a/tests/unit/objects/test_registry_repositories.py b/tests/unit/objects/test_registry_repositories.py index 61929172b..09b88ab9f 100644 --- a/tests/unit/objects/test_registry_repositories.py +++ b/tests/unit/objects/test_registry_repositories.py @@ -1,10 +1,12 @@ """ GitLab API: https://docs.gitlab.com/ee/api/container_registry.html """ +import re + import pytest import responses -from gitlab.v4.objects import ProjectRegistryRepository +from gitlab.v4.objects import ProjectRegistryRepository, RegistryRepository repositories_content = [ { @@ -29,11 +31,13 @@ @pytest.fixture -def resp_group_registry_repositories(): +def resp_list_registry_repositories(): with responses.RequestsMock() as rsps: rsps.add( method=responses.GET, - url="http://localhost/api/v4/groups/1/registry/repositories", + url=re.compile( + r"http://localhost/api/v4/(groups|projects)/1/registry/repositories" + ), json=repositories_content, content_type="application/json", status=200, @@ -41,7 +45,49 @@ def resp_group_registry_repositories(): yield rsps -def test_list_group_registry_repositories(group, resp_group_registry_repositories): +@pytest.fixture +def resp_get_registry_repository(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/registry/repositories/1", + json=repositories_content[0], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture +def resp_delete_registry_repository(no_content): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.DELETE, + url="http://localhost/api/v4/projects/1/registry/repositories/1", + json=no_content, + content_type="application/json", + status=204, + ) + yield rsps + + +def test_list_group_registry_repositories(group, resp_list_registry_repositories): repositories = group.registry_repositories.list() assert isinstance(repositories[0], ProjectRegistryRepository) assert repositories[0].id == 1 + + +def test_list_project_registry_repositories(project, resp_list_registry_repositories): + repositories = project.repositories.list() + assert isinstance(repositories[0], ProjectRegistryRepository) + assert repositories[0].id == 1 + + +def test_delete_project_registry_repository(project, resp_delete_registry_repository): + project.repositories.delete(1) + + +def test_get_registry_repository(gl, resp_get_registry_repository): + repository = gl.registry_repositories.get(1) + assert isinstance(repository, RegistryRepository) + assert repository.id == 1