|
| 1 | +""" |
| 2 | +GitLab API: https://docs.gitlab.com/ee/api/resource_label_events.html |
| 3 | +""" |
| 4 | + |
| 5 | +importpytest |
| 6 | +importresponses |
| 7 | + |
| 8 | +fromgitlab.v4.objectsimport ( |
| 9 | +ProjectIssueResourceLabelEvent, |
| 10 | +ProjectMergeRequestResourceLabelEvent, |
| 11 | +GroupEpicResourceLabelEvent, |
| 12 | +) |
| 13 | + |
| 14 | + |
| 15 | +@pytest.fixture() |
| 16 | +defresp_group_epic_request_label_events(): |
| 17 | +epic_content= {"id":1} |
| 18 | +events_content= {"id":1,"resource_type":"Epic"} |
| 19 | +withresponses.RequestsMock()asrsps: |
| 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 | +yieldrsps |
| 35 | + |
| 36 | + |
| 37 | +@pytest.fixture() |
| 38 | +defresp_merge_request_label_events(): |
| 39 | +mr_content= {"iid":1} |
| 40 | +events_content= {"id":1,"resource_type":"MergeRequest"} |
| 41 | +withresponses.RequestsMock()asrsps: |
| 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 | +yieldrsps |
| 57 | + |
| 58 | + |
| 59 | +@pytest.fixture() |
| 60 | +defresp_project_issue_label_events(): |
| 61 | +issue_content= {"iid":1} |
| 62 | +events_content= {"id":1,"resource_type":"Issue"} |
| 63 | +withresponses.RequestsMock()asrsps: |
| 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 | +yieldrsps |
| 79 | + |
| 80 | + |
| 81 | +deftest_project_issue_label_events(project,resp_project_issue_label_events): |
| 82 | +issue=project.issues.list()[0] |
| 83 | +label_events=issue.resourcelabelevents.list() |
| 84 | +assertisinstance(label_events,list) |
| 85 | +label_event=label_events[0] |
| 86 | +assertisinstance(label_event,ProjectIssueResourceLabelEvent) |
| 87 | +assertlabel_event.resource_type=="Issue" |
| 88 | + |
| 89 | + |
| 90 | +deftest_merge_request_label_events(project,resp_merge_request_label_events): |
| 91 | +mr=project.mergerequests.list()[0] |
| 92 | +label_events=mr.resourcelabelevents.list() |
| 93 | +assertisinstance(label_events,list) |
| 94 | +label_event=label_events[0] |
| 95 | +assertisinstance(label_event,ProjectMergeRequestResourceLabelEvent) |
| 96 | +assertlabel_event.resource_type=="MergeRequest" |
| 97 | + |
| 98 | + |
| 99 | +deftest_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 | +assertisinstance(label_events,list) |
| 103 | +label_event=label_events[0] |
| 104 | +assertisinstance(label_event,GroupEpicResourceLabelEvent) |
| 105 | +assertlabel_event.resource_type=="Epic" |