diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2021-03-07 18:05:23 +0100 |
---|---|---|
committer | Nejc Habjan <hab.nejc@gmail.com> | 2021-04-18 14:24:14 +0200 |
commit | 10225cf26095efe82713136ddde3330e7afc6d10 (patch) | |
tree | d748861e9df62f461c87e075e12fd4233c487261 /gitlab/tests | |
parent | 4d00c12723d565dc0a83670f62e3f5102650d822 (diff) | |
download | gitlab-10225cf26095efe82713136ddde3330e7afc6d10.tar.gz |
test(objects): add tests for resource state events
Diffstat (limited to 'gitlab/tests')
-rw-r--r-- | gitlab/tests/conftest.py | 10 | ||||
-rw-r--r-- | gitlab/tests/objects/test_resource_state_events.py | 105 |
2 files changed, 115 insertions, 0 deletions
diff --git a/gitlab/tests/conftest.py b/gitlab/tests/conftest.py index fc8312f..74fb858 100644 --- a/gitlab/tests/conftest.py +++ b/gitlab/tests/conftest.py @@ -53,6 +53,16 @@ def project(gl): @pytest.fixture +def project_issue(project): + return project.issues.get(1, lazy=True) + + +@pytest.fixture +def project_merge_request(project): + return project.mergerequests.get(1, lazy=True) + + +@pytest.fixture def release(project, tag_name): return project.releases.get(tag_name, lazy=True) diff --git a/gitlab/tests/objects/test_resource_state_events.py b/gitlab/tests/objects/test_resource_state_events.py new file mode 100644 index 0000000..01c1887 --- /dev/null +++ b/gitlab/tests/objects/test_resource_state_events.py @@ -0,0 +1,105 @@ +""" +GitLab API: https://docs.gitlab.com/ee/api/resource_state_events.html +""" + +import pytest +import responses + +from gitlab.v4.objects import ( + ProjectIssueResourceStateEvent, + ProjectMergeRequestResourceStateEvent, +) + + +issue_event_content = {"id": 1, "resource_type": "Issue"} +mr_event_content = {"id": 1, "resource_type": "MergeRequest"} + + +@pytest.fixture() +def resp_list_project_issue_state_events(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/issues/1/resource_state_events", + json=[issue_event_content], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture() +def resp_get_project_issue_state_event(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/issues/1/resource_state_events/1", + json=issue_event_content, + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture() +def resp_list_merge_request_state_events(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/merge_requests/1/resource_state_events", + json=[mr_event_content], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture() +def resp_get_merge_request_state_event(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/projects/1/merge_requests/1/resource_state_events/1", + json=mr_event_content, + content_type="application/json", + status=200, + ) + yield rsps + + +def test_list_project_issue_state_events( + project_issue, resp_list_project_issue_state_events +): + state_events = project_issue.resourcestateevents.list() + assert isinstance(state_events, list) + + state_event = state_events[0] + assert isinstance(state_event, ProjectIssueResourceStateEvent) + assert state_event.resource_type == "Issue" + + +def test_get_project_issue_state_event( + project_issue, resp_get_project_issue_state_event +): + state_event = project_issue.resourcestateevents.get(1) + assert isinstance(state_event, ProjectIssueResourceStateEvent) + assert state_event.resource_type == "Issue" + + +def test_list_merge_request_state_events( + project_merge_request, resp_list_merge_request_state_events +): + state_events = project_merge_request.resourcestateevents.list() + assert isinstance(state_events, list) + + state_event = state_events[0] + assert isinstance(state_event, ProjectMergeRequestResourceStateEvent) + assert state_event.resource_type == "MergeRequest" + + +def test_get_merge_request_state_event( + project_merge_request, resp_get_merge_request_state_event +): + state_event = project_merge_request.resourcestateevents.get(1) + assert isinstance(state_event, ProjectMergeRequestResourceStateEvent) + assert state_event.resource_type == "MergeRequest" |