Skip to content

Commit

Permalink
test: add more tests for container registries
Browse files Browse the repository at this point in the history
  • Loading branch information
nejch authored and JohnVillalovos committed Jul 20, 2022
1 parent 284d739 commit f6b6e18
Showing 1 changed file with 50 additions and 4 deletions.
54 changes: 50 additions & 4 deletions 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 = [
{
Expand All @@ -29,19 +31,63 @@


@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,
)
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

0 comments on commit f6b6e18

Please sign in to comment.