1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
import pytest
import responses
from gitlab.const import DEFAULT_URL
@pytest.fixture
def gitlab_cli(script_runner, gitlab_config):
"""Wrapper fixture to help make test cases less verbose."""
def _gitlab_cli(subcommands):
"""
Return a script_runner.run method that takes a default gitlab
command, and subcommands passed as arguments inside test cases.
"""
command = ["gitlab", "--config-file", gitlab_config]
for subcommand in subcommands:
# ensure we get strings (e.g from IDs)
command.append(str(subcommand))
return script_runner.run(command)
return _gitlab_cli
@pytest.fixture
def resp_get_project():
return {
"method": responses.GET,
"url": f"{DEFAULT_URL}/api/v4/projects/1",
"json": {"name": "name", "path": "test-path", "id": 1},
"content_type": "application/json",
"status": 200,
}
@pytest.fixture
def resp_current_user():
return {
"method": responses.GET,
"url": f"{DEFAULT_URL}/api/v4/user",
"json": {"username": "name", "id": 1},
"content_type": "application/json",
"status": 200,
}
@pytest.fixture
def resp_delete_registry_tags_in_bulk():
return {
"method": responses.DELETE,
"url": f"{DEFAULT_URL}/api/v4/projects/1/registry/repositories/1/tags",
"status": 202,
}
|