summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/tests/objects/test_audit_events.py23
-rw-r--r--gitlab/v4/objects/audit_events.py46
-rw-r--r--gitlab/v4/objects/groups.py2
-rw-r--r--gitlab/v4/objects/projects.py4
4 files changed, 67 insertions, 8 deletions
diff --git a/gitlab/tests/objects/test_audit_events.py b/gitlab/tests/objects/test_audit_events.py
index 8da77ae..aba778b 100644
--- a/gitlab/tests/objects/test_audit_events.py
+++ b/gitlab/tests/objects/test_audit_events.py
@@ -8,7 +8,11 @@ import re
import pytest
import responses
-from gitlab.v4.objects.audit_events import AuditEvent, ProjectAudit
+from gitlab.v4.objects.audit_events import (
+ AuditEvent,
+ GroupAuditEvent,
+ ProjectAuditEvent,
+)
id = 5
@@ -79,14 +83,27 @@ def test_get_instance_audit_events(gl, resp_get_audit_event):
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], ProjectAudit)
+ 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, ProjectAudit)
+ assert isinstance(audit_event, ProjectAuditEvent)
assert audit_event.id == id
diff --git a/gitlab/v4/objects/audit_events.py b/gitlab/v4/objects/audit_events.py
index a4437be..c99856a 100644
--- a/gitlab/v4/objects/audit_events.py
+++ b/gitlab/v4/objects/audit_events.py
@@ -2,6 +2,7 @@
GitLab API:
https://docs.gitlab.com/ee/api/audit_events.html
"""
+import warnings
from gitlab.base import RESTManager, RESTObject
from gitlab.mixins import RetrieveMixin
@@ -9,6 +10,10 @@ from gitlab.mixins import RetrieveMixin
__all__ = [
"AuditEvent",
"AuditEventManager",
+ "GroupAuditEvent",
+ "GroupAuditEventManager",
+ "ProjectAuditEvent",
+ "ProjectAuditEventManager",
"ProjectAudit",
"ProjectAuditManager",
]
@@ -24,12 +29,47 @@ class AuditEventManager(RetrieveMixin, RESTManager):
_list_filters = ("created_after", "created_before", "entity_type", "entity_id")
-class ProjectAudit(RESTObject):
+class GroupAuditEvent(RESTObject):
_id_attr = "id"
-class ProjectAuditManager(RetrieveMixin, RESTManager):
+class GroupAuditEventManager(RetrieveMixin, RESTManager):
+ _path = "/groups/%(group_id)s/audit_events"
+ _obj_cls = GroupAuditEvent
+ _from_parent_attrs = {"group_id": "id"}
+ _list_filters = ("created_after", "created_before")
+
+
+class ProjectAuditEvent(RESTObject):
+ _id_attr = "id"
+
+ def __init_subclass__(self):
+ warnings.warn(
+ "This class has been renamed to ProjectAuditEvent "
+ "and will be removed in a future release.",
+ DeprecationWarning,
+ 2,
+ )
+
+
+class ProjectAuditEventManager(RetrieveMixin, RESTManager):
_path = "/projects/%(project_id)s/audit_events"
- _obj_cls = ProjectAudit
+ _obj_cls = ProjectAuditEvent
_from_parent_attrs = {"project_id": "id"}
_list_filters = ("created_after", "created_before")
+
+ def __init_subclass__(self):
+ warnings.warn(
+ "This class has been renamed to ProjectAuditEventManager "
+ "and will be removed in a future release.",
+ DeprecationWarning,
+ 2,
+ )
+
+
+class ProjectAudit(ProjectAuditEvent):
+ pass
+
+
+class ProjectAuditManager(ProjectAuditEventManager):
+ pass
diff --git a/gitlab/v4/objects/groups.py b/gitlab/v4/objects/groups.py
index d96acfd..e859e0e 100644
--- a/gitlab/v4/objects/groups.py
+++ b/gitlab/v4/objects/groups.py
@@ -3,6 +3,7 @@ from gitlab import exceptions as exc
from gitlab.base import RESTManager, RESTObject
from gitlab.mixins import CRUDMixin, ListMixin, ObjectDeleteMixin, SaveMixin
from .access_requests import GroupAccessRequestManager
+from .audit_events import GroupAuditEventManager
from .badges import GroupBadgeManager
from .boards import GroupBoardManager
from .custom_attributes import GroupCustomAttributeManager
@@ -34,6 +35,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
_short_print_attr = "name"
_managers = (
("accessrequests", "GroupAccessRequestManager"),
+ ("audit_events", "GroupAuditEventManager"),
("badges", "GroupBadgeManager"),
("boards", "GroupBoardManager"),
("customattributes", "GroupCustomAttributeManager"),
diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py
index c187ba9..f4de18d 100644
--- a/gitlab/v4/objects/projects.py
+++ b/gitlab/v4/objects/projects.py
@@ -25,7 +25,7 @@ from .deploy_tokens import ProjectDeployTokenManager
from .deployments import ProjectDeploymentManager
from .environments import ProjectEnvironmentManager
from .events import ProjectEventManager
-from .audit_events import ProjectAuditManager
+from .audit_events import ProjectAuditEventManager
from .export_import import ProjectExportManager, ProjectImportManager
from .files import ProjectFileManager
from .hooks import ProjectHookManager
@@ -117,7 +117,7 @@ class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTO
("deployments", "ProjectDeploymentManager"),
("environments", "ProjectEnvironmentManager"),
("events", "ProjectEventManager"),
- ("audit_events", "ProjectAuditManager"),
+ ("audit_events", "ProjectAuditEventManager"),
("exports", "ProjectExportManager"),
("files", "ProjectFileManager"),
("forks", "ProjectForkManager"),