pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python-gitlab/python-gitlab/commit/e9a211ca8080e07727d0217e1cdc2851b13a85b7

mous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-5efd63e783ac04bb.css" /> test: add unit tests for resource label events API · python-gitlab/python-gitlab@e9a211c · GitHub
Skip to content

Commit e9a211c

Browse files
Oleksii ShkurupiiOleksii Shkurupii
authored andcommitted
test: add unit tests for resource label events API
1 parent 784cba6 commit e9a211c

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
"""
2+
GitLab API: https://docs.gitlab.com/ee/api/resource_label_events.html
3+
"""
4+
5+
import pytest
6+
import responses
7+
8+
from gitlab.v4.objects import (
9+
ProjectIssueResourceLabelEvent,
10+
ProjectMergeRequestResourceLabelEvent,
11+
GroupEpicResourceLabelEvent,
12+
)
13+
14+
15+
@pytest.fixture()
16+
def resp_group_epic_request_label_events():
17+
epic_content = {"id": 1}
18+
events_content = {"id": 1, "resource_type": "Epic"}
19+
with responses.RequestsMock() as rsps:
20+
rsps.add(
21+
method=responses.GET,
22+
url="http://localhost/api/v4/groups/1/epics",
23+
json=[epic_content],
24+
content_type="application/json",
25+
status=200,
26+
)
27+
rsps.add(
28+
method=responses.GET,
29+
url="http://localhost/api/v4/groups/1/epics/1/resource_label_events",
30+
json=[events_content],
31+
content_type="application/json",
32+
status=200,
33+
)
34+
yield rsps
35+
36+
37+
@pytest.fixture()
38+
def resp_merge_request_label_events():
39+
mr_content = {"iid": 1}
40+
events_content = {"id": 1, "resource_type": "MergeRequest"}
41+
with responses.RequestsMock() as rsps:
42+
rsps.add(
43+
method=responses.GET,
44+
url="http://localhost/api/v4/projects/1/merge_requests",
45+
json=[mr_content],
46+
content_type="application/json",
47+
status=200,
48+
)
49+
rsps.add(
50+
method=responses.GET,
51+
url="http://localhost/api/v4/projects/1/merge_requests/1/resource_label_events",
52+
json=[events_content],
53+
content_type="application/json",
54+
status=200,
55+
)
56+
yield rsps
57+
58+
59+
@pytest.fixture()
60+
def resp_project_issue_label_events():
61+
issue_content = {"iid": 1}
62+
events_content = {"id": 1, "resource_type": "Issue"}
63+
with responses.RequestsMock() as rsps:
64+
rsps.add(
65+
method=responses.GET,
66+
url="http://localhost/api/v4/projects/1/issues",
67+
json=[issue_content],
68+
content_type="application/json",
69+
status=200,
70+
)
71+
rsps.add(
72+
method=responses.GET,
73+
url="http://localhost/api/v4/projects/1/issues/1/resource_label_events",
74+
json=[events_content],
75+
content_type="application/json",
76+
status=200,
77+
)
78+
yield rsps
79+
80+
81+
def test_project_issue_label_events(project, resp_project_issue_label_events):
82+
issue = project.issues.list()[0]
83+
label_events = issue.resourcelabelevents.list()
84+
assert isinstance(label_events, list)
85+
label_event = label_events[0]
86+
assert isinstance(label_event, ProjectIssueResourceLabelEvent)
87+
assert label_event.resource_type == "Issue"
88+
89+
90+
def test_merge_request_label_events(project, resp_merge_request_label_events):
91+
mr = project.mergerequests.list()[0]
92+
label_events = mr.resourcelabelevents.list()
93+
assert isinstance(label_events, list)
94+
label_event = label_events[0]
95+
assert isinstance(label_event, ProjectMergeRequestResourceLabelEvent)
96+
assert label_event.resource_type == "MergeRequest"
97+
98+
99+
def test_group_epic_request_label_events(group, resp_group_epic_request_label_events):
100+
epic = group.epics.list()[0]
101+
label_events = epic.resourcelabelevents.list()
102+
assert isinstance(label_events, list)
103+
label_event = label_events[0]
104+
assert isinstance(label_event, GroupEpicResourceLabelEvent)
105+
assert label_event.resource_type == "Epic"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

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