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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy