Skip to content

Commit d236267

Browse files
authored
Merge pull request #1375 from JohnVillalovos/jlvillal/update_uses_post
chore: remove usage of getattr()
2 parents d1697d4 + 2afd18a commit d236267

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

gitlab/mixins.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,7 @@ class UpdateMixin(_RestManagerBase):
331331
_parent = Optional[base.RESTObject]
332332
_parent_attrs = Dict[str, Any]
333333
_path: Optional[str]
334+
_update_uses_post: bool = False
334335
gitlab: gitlab.Gitlab
335336

336337
def _check_missing_update_attrs(self, data: Dict[str, Any]) -> None:
@@ -357,7 +358,7 @@ def _get_update_method(
357358
Returns:
358359
object: http_put (default) or http_post
359360
"""
360-
if getattr(self, "_update_uses_post", False):
361+
if self._update_uses_post:
361362
http_method = self.gitlab.http_post
362363
else:
363364
http_method = self.gitlab.http_put

gitlab/tests/objects/test_project_merge_request_approvals.py

+25-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
Gitlab API: https://docs.gitlab.com/ee/api/merge_request_approvals.html
33
"""
44

5+
import copy
6+
57
import pytest
68
import responses
7-
import copy
9+
10+
import gitlab
811

912

1013
approval_rule_id = 1
@@ -230,6 +233,17 @@ def resp_snippet():
230233
yield rsps
231234

232235

236+
def test_project_approval_manager_update_uses_post(project, resp_snippet):
237+
"""Ensure the
238+
gitlab.v4.objects.merge_request_approvals.ProjectApprovalManager object has
239+
_update_uses_post set to True"""
240+
approvals = project.approvals
241+
assert isinstance(
242+
approvals, gitlab.v4.objects.merge_request_approvals.ProjectApprovalManager
243+
)
244+
assert approvals._update_uses_post == True
245+
246+
233247
def test_list_merge_request_approval_rules(project, resp_snippet):
234248
approval_rules = project.mergerequests.get(1).approval_rules.list()
235249
assert len(approval_rules) == 1
@@ -239,6 +253,11 @@ def test_list_merge_request_approval_rules(project, resp_snippet):
239253

240254
def test_update_merge_request_approvals_set_approvers(project, resp_snippet):
241255
approvals = project.mergerequests.get(1).approvals
256+
assert isinstance(
257+
approvals,
258+
gitlab.v4.objects.merge_request_approvals.ProjectMergeRequestApprovalManager,
259+
)
260+
assert approvals._update_uses_post == True
242261
response = approvals.set_approvers(
243262
updated_approval_rule_approvals_required,
244263
approver_ids=updated_approval_rule_user_ids,
@@ -254,6 +273,11 @@ def test_update_merge_request_approvals_set_approvers(project, resp_snippet):
254273

255274
def test_create_merge_request_approvals_set_approvers(project, resp_snippet):
256275
approvals = project.mergerequests.get(1).approvals
276+
assert isinstance(
277+
approvals,
278+
gitlab.v4.objects.merge_request_approvals.ProjectMergeRequestApprovalManager,
279+
)
280+
assert approvals._update_uses_post == True
257281
response = approvals.set_approvers(
258282
new_approval_rule_approvals_required,
259283
approver_ids=new_approval_rule_user_ids,

0 commit comments

Comments
 (0)