File: test_push_rules.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 (26 lines) | stat: -rw-r--r-- 710 bytes parent folder | download | duplicates (2)
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
import pytest

import gitlab


@pytest.mark.gitlab_premium
def test_project_push_rules(project):
    with pytest.raises(gitlab.GitlabParsingError):
        # when no rules are defined the API call returns back `None` which
        # causes a gitlab.GitlabParsingError in RESTObject.__init__()
        project.pushrules.get()

    push_rules = project.pushrules.create({"deny_delete_tag": True})
    assert push_rules.deny_delete_tag

    push_rules.deny_delete_tag = False
    push_rules.save()

    push_rules = project.pushrules.get()
    assert push_rules
    assert not push_rules.deny_delete_tag

    push_rules.delete()

    with pytest.raises(gitlab.GitlabParsingError):
        project.pushrules.get()