summaryrefslogtreecommitdiff
path: root/tests/functional/api/test_push_rules.py
blob: 15a31403cc9db3e41a7b1cbfbc10966088d27e94 (plain)
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()