/
test_audit_events.py
109 lines (86 loc) · 2.86 KB
/
test_audit_events.py
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"""
GitLab API:
https://docs.gitlab.com/ee/api/audit_events.html#project-audit-events
"""
import re
import pytest
import responses
from gitlab.v4.objects.audit_events import (
AuditEvent,
GroupAuditEvent,
ProjectAuditEvent,
)
id = 5
audit_events_content = {
"id": 5,
"author_id": 1,
"entity_id": 7,
"entity_type": "Project",
"details": {
"change": "prevent merge request approval from reviewers",
"from": "",
"to": "true",
"author_name": "Administrator",
"target_id": 7,
"target_type": "Project",
"target_details": "twitter/typeahead-js",
"ip_address": "127.0.0.1",
"entity_path": "twitter/typeahead-js",
},
"created_at": "2020-05-26T22:55:04.230Z",
}
audit_events_url = re.compile(
r"http://localhost/api/v4/((groups|projects)/1/)?audit_events"
)
audit_events_url_id = re.compile(
rf"http://localhost/api/v4/((groups|projects)/1/)?audit_events/{id}"
)
@pytest.fixture
def resp_list_audit_events():
with responses.RequestsMock() as rsps:
rsps.add(
method=responses.GET,
url=audit_events_url,
json=[audit_events_content],
content_type="application/json",
status=200,
)
yield rsps
@pytest.fixture
def resp_get_audit_event():
with responses.RequestsMock() as rsps:
rsps.add(
method=responses.GET,
url=audit_events_url_id,
json=audit_events_content,
content_type="application/json",
status=200,
)
yield rsps
def test_list_instance_audit_events(gl, resp_list_audit_events):
audit_events = gl.audit_events.list()
assert isinstance(audit_events, list)
assert isinstance(audit_events[0], AuditEvent)
assert audit_events[0].id == id
def test_get_instance_audit_events(gl, resp_get_audit_event):
audit_event = gl.audit_events.get(id)
assert isinstance(audit_event, AuditEvent)
assert audit_event.id == id
def test_list_group_audit_events(group, resp_list_audit_events):
audit_events = group.audit_events.list()
assert isinstance(audit_events, list)
assert isinstance(audit_events[0], GroupAuditEvent)
assert audit_events[0].id == id
def test_get_group_audit_events(group, resp_get_audit_event):
audit_event = group.audit_events.get(id)
assert isinstance(audit_event, GroupAuditEvent)
assert audit_event.id == id
def test_list_project_audit_events(project, resp_list_audit_events):
audit_events = project.audit_events.list()
assert isinstance(audit_events, list)
assert isinstance(audit_events[0], ProjectAuditEvent)
assert audit_events[0].id == id
def test_get_project_audit_events(project, resp_get_audit_event):
audit_event = project.audit_events.get(id)
assert isinstance(audit_event, ProjectAuditEvent)
assert audit_event.id == id