diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2020-09-05 10:05:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-05 10:05:16 +0200 |
commit | b1c204597f070a34495f35b25922ff6754537fb1 (patch) | |
tree | 0f1201dd795412da3b773b3107b439b21a3e8541 | |
parent | 24fdbef7dc38bebf41d8142f96f1a507207280ae (diff) | |
parent | e9a211ca8080e07727d0217e1cdc2851b13a85b7 (diff) | |
download | gitlab-b1c204597f070a34495f35b25922ff6754537fb1.tar.gz |
Merge pull request #1174 from Shkurupii/add-unittests-for-resource-label-events
Add unit tests for resource label events API
-rw-r--r-- | gitlab/tests/objects/test_resource_label_events.py | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/gitlab/tests/objects/test_resource_label_events.py b/gitlab/tests/objects/test_resource_label_events.py new file mode 100644 index 0000000..07f891c --- /dev/null +++ b/gitlab/tests/objects/test_resource_label_events.py @@ -0,0 +1,105 @@ +""" +GitLab API: https://docs.gitlab.com/ee/api/resource_label_events.html +""" + +import pytest +import responses + +from gitlab.v4.objects import ( + ProjectIssueResourceLabelEvent, + ProjectMergeRequestResourceLabelEvent, + GroupEpicResourceLabelEvent, +) + + +@pytest.fixture() +def resp_group_epic_request_label_events(): + epic_content = {"id": 1} + events_content = {"id": 1, "resource_type": "Epic"} + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/groups/1/epics", + json=[epic_content], + content_type="application/json", + status=200, + ) + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/groups/1/epics/1/resource_label_events", + json=[events_content], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture() +def resp_merge_request_label_events(): + mr_content = {"iid": 1} + events_content = {"id": 1, "resource_type": "MergeRequest"} + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/merge_requests", + json=[mr_content], + content_type="application/json", + status=200, + ) + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/merge_requests/1/resource_label_events", + json=[events_content], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture() +def resp_project_issue_label_events(): + issue_content = {"iid": 1} + events_content = {"id": 1, "resource_type": "Issue"} + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/issues", + json=[issue_content], + content_type="application/json", + status=200, + ) + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/issues/1/resource_label_events", + json=[events_content], + content_type="application/json", + status=200, + ) + yield rsps + + +def test_project_issue_label_events(project, resp_project_issue_label_events): + issue = project.issues.list()[0] + label_events = issue.resourcelabelevents.list() + assert isinstance(label_events, list) + label_event = label_events[0] + assert isinstance(label_event, ProjectIssueResourceLabelEvent) + assert label_event.resource_type == "Issue" + + +def test_merge_request_label_events(project, resp_merge_request_label_events): + mr = project.mergerequests.list()[0] + label_events = mr.resourcelabelevents.list() + assert isinstance(label_events, list) + label_event = label_events[0] + assert isinstance(label_event, ProjectMergeRequestResourceLabelEvent) + assert label_event.resource_type == "MergeRequest" + + +def test_group_epic_request_label_events(group, resp_group_epic_request_label_events): + epic = group.epics.list()[0] + label_events = epic.resourcelabelevents.list() + assert isinstance(label_events, list) + label_event = label_events[0] + assert isinstance(label_event, GroupEpicResourceLabelEvent) + assert label_event.resource_type == "Epic" |