File: conftest.py

package info (click to toggle)
python-gitlab 1%3A4.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,048 kB
  • sloc: python: 24,168; makefile: 171; ruby: 27; javascript: 3
file content (55 lines) | stat: -rw-r--r-- 1,408 bytes parent folder | download
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,
    }