Skip to content

Commit 23e37c5

Browse files
committed
refactor(objects): make audit event classes consistent
1 parent 3193b8d commit 23e37c5

File tree

3 files changed

+39
-8
lines changed

3 files changed

+39
-8
lines changed

gitlab/tests/objects/test_audit_events.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
import pytest
99
import responses
1010

11-
from gitlab.v4.objects.audit_events import AuditEvent, GroupAuditEvent, ProjectAudit
11+
from gitlab.v4.objects.audit_events import (
12+
AuditEvent,
13+
GroupAuditEvent,
14+
ProjectAuditEvent,
15+
)
1216

1317
id = 5
1418

@@ -95,11 +99,11 @@ def test_get_group_audit_events(group, resp_get_audit_event):
9599
def test_list_project_audit_events(project, resp_list_audit_events):
96100
audit_events = project.audit_events.list()
97101
assert isinstance(audit_events, list)
98-
assert isinstance(audit_events[0], ProjectAudit)
102+
assert isinstance(audit_events[0], ProjectAuditEvent)
99103
assert audit_events[0].id == id
100104

101105

102106
def test_get_project_audit_events(project, resp_get_audit_event):
103107
audit_event = project.audit_events.get(id)
104-
assert isinstance(audit_event, ProjectAudit)
108+
assert isinstance(audit_event, ProjectAuditEvent)
105109
assert audit_event.id == id

gitlab/v4/objects/audit_events.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
GitLab API:
33
https://docs.gitlab.com/ee/api/audit_events.html
44
"""
5+
import warnings
56

67
from gitlab.base import RESTManager, RESTObject
78
from gitlab.mixins import RetrieveMixin
@@ -11,6 +12,8 @@
1112
"AuditEventManager",
1213
"GroupAuditEvent",
1314
"GroupAuditEventManager",
15+
"ProjectAuditEvent",
16+
"ProjectAuditEventManager",
1417
"ProjectAudit",
1518
"ProjectAuditManager",
1619
]
@@ -37,12 +40,36 @@ class GroupAuditEventManager(RetrieveMixin, RESTManager):
3740
_list_filters = ("created_after", "created_before")
3841

3942

40-
class ProjectAudit(RESTObject):
43+
class ProjectAuditEvent(RESTObject):
4144
_id_attr = "id"
4245

46+
def __init_subclass__(self):
47+
warnings.warn(
48+
"This class has been renamed to ProjectAuditEvent "
49+
"and will be removed in a future release.",
50+
DeprecationWarning,
51+
2,
52+
)
4353

44-
class ProjectAuditManager(RetrieveMixin, RESTManager):
54+
55+
class ProjectAuditEventManager(RetrieveMixin, RESTManager):
4556
_path = "/projects/%(project_id)s/audit_events"
46-
_obj_cls = ProjectAudit
57+
_obj_cls = ProjectAuditEvent
4758
_from_parent_attrs = {"project_id": "id"}
4859
_list_filters = ("created_after", "created_before")
60+
61+
def __init_subclass__(self):
62+
warnings.warn(
63+
"This class has been renamed to ProjectAuditEventManager "
64+
"and will be removed in a future release.",
65+
DeprecationWarning,
66+
2,
67+
)
68+
69+
70+
class ProjectAudit(ProjectAuditEvent):
71+
pass
72+
73+
74+
class ProjectAuditManager(ProjectAuditEventManager):
75+
pass

gitlab/v4/objects/projects.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from .deployments import ProjectDeploymentManager
2626
from .environments import ProjectEnvironmentManager
2727
from .events import ProjectEventManager
28-
from .audit_events import ProjectAuditManager
28+
from .audit_events import ProjectAuditEventManager
2929
from .export_import import ProjectExportManager, ProjectImportManager
3030
from .files import ProjectFileManager
3131
from .hooks import ProjectHookManager
@@ -117,7 +117,7 @@ class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTO
117117
("deployments", "ProjectDeploymentManager"),
118118
("environments", "ProjectEnvironmentManager"),
119119
("events", "ProjectEventManager"),
120-
("audit_events", "ProjectAuditManager"),
120+
("audit_events", "ProjectAuditEventManager"),
121121
("exports", "ProjectExportManager"),
122122
("files", "ProjectFileManager"),
123123
("forks", "ProjectForkManager"),

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