Skip to content

Commit 3193b8d

Browse files
committed
feat(objects): add support for group audit events API
1 parent 84e3247 commit 3193b8d

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

gitlab/tests/objects/test_audit_events.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pytest
99
import responses
1010

11-
from gitlab.v4.objects.audit_events import AuditEvent, ProjectAudit
11+
from gitlab.v4.objects.audit_events import AuditEvent, GroupAuditEvent, ProjectAudit
1212

1313
id = 5
1414

@@ -79,6 +79,19 @@ def test_get_instance_audit_events(gl, resp_get_audit_event):
7979
assert audit_event.id == id
8080

8181

82+
def test_list_group_audit_events(group, resp_list_audit_events):
83+
audit_events = group.audit_events.list()
84+
assert isinstance(audit_events, list)
85+
assert isinstance(audit_events[0], GroupAuditEvent)
86+
assert audit_events[0].id == id
87+
88+
89+
def test_get_group_audit_events(group, resp_get_audit_event):
90+
audit_event = group.audit_events.get(id)
91+
assert isinstance(audit_event, GroupAuditEvent)
92+
assert audit_event.id == id
93+
94+
8295
def test_list_project_audit_events(project, resp_list_audit_events):
8396
audit_events = project.audit_events.list()
8497
assert isinstance(audit_events, list)

gitlab/v4/objects/audit_events.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
__all__ = [
1010
"AuditEvent",
1111
"AuditEventManager",
12+
"GroupAuditEvent",
13+
"GroupAuditEventManager",
1214
"ProjectAudit",
1315
"ProjectAuditManager",
1416
]
@@ -24,6 +26,17 @@ class AuditEventManager(RetrieveMixin, RESTManager):
2426
_list_filters = ("created_after", "created_before", "entity_type", "entity_id")
2527

2628

29+
class GroupAuditEvent(RESTObject):
30+
_id_attr = "id"
31+
32+
33+
class GroupAuditEventManager(RetrieveMixin, RESTManager):
34+
_path = "/projects/%(project_id)s/audit_events"
35+
_obj_cls = GroupAuditEvent
36+
_from_parent_attrs = {"project_id": "id"}
37+
_list_filters = ("created_after", "created_before")
38+
39+
2740
class ProjectAudit(RESTObject):
2841
_id_attr = "id"
2942

gitlab/v4/objects/groups.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from gitlab.base import RESTManager, RESTObject
44
from gitlab.mixins import CRUDMixin, ListMixin, ObjectDeleteMixin, SaveMixin
55
from .access_requests import GroupAccessRequestManager
6+
from .audit_events import GroupAuditEventManager
67
from .badges import GroupBadgeManager
78
from .boards import GroupBoardManager
89
from .custom_attributes import GroupCustomAttributeManager
@@ -34,6 +35,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
3435
_short_print_attr = "name"
3536
_managers = (
3637
("accessrequests", "GroupAccessRequestManager"),
38+
("audit_events", "GroupAuditEventManager"),
3739
("badges", "GroupBadgeManager"),
3840
("boards", "GroupBoardManager"),
3941
("customattributes", "GroupCustomAttributeManager"),

0 commit comments

Comments
 (0)