forked from gitlab4j/gitlab4j-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestResourceStateEventsApi.java
82 lines (65 loc) · 3.08 KB
/
TestResourceStateEventsApi.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package org.gitlab4j.api;
import org.gitlab4j.api.models.Issue;
import org.gitlab4j.api.models.IssueEvent;
import org.gitlab4j.api.models.Project;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import java.util.List;
import static org.gitlab4j.api.TestIssuesApi.deleteAllTestIssues;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@Tag("integration")
@ExtendWith(SetupIntegrationTestExtension.class)
@org.junit.jupiter.api.Disabled("Integration tests are disabled, see https://github.com/gitlab4j/gitlab4j-api/issues/1165")
public class TestResourceStateEventsApi extends AbstractIntegrationTest {
private static GitLabApi gitLabApi;
private static Project testProject;
private static final String ISSUE_TITLE = "Test Issue Title";
private static final String ISSUE_DESCRIPTION = "This is a really nice description, not.";
public TestResourceStateEventsApi() {
super();
}
@BeforeAll
public static void setup() {
gitLabApi = baseTestSetup();
testProject = getTestProject();
}
@AfterAll
public static void teardown() {
deleteAllTestIssues();
}
@Disabled("should be enabled when CI tests will be run against GitLab 13.2+")
@Test
public void testGetCloseReopenIssueEvents() throws GitLabApiException {
Long projectId = testProject.getId();
Issue issue = gitLabApi.getIssuesApi().createIssue(projectId, ISSUE_TITLE, ISSUE_DESCRIPTION);
Issue closedIssue = gitLabApi.getIssuesApi().closeIssue(projectId, issue.getIid());
assertEquals(closedIssue.getState(), Constants.IssueState.CLOSED);
List<IssueEvent> issueEvents = gitLabApi.getResourceStateEventsApi().getIssueStateEvents(projectId, issue.getIid());
assertNotNull(issueEvents);
assertEquals(1, issueEvents.size());
assertEquals(1, issueEvents.stream()
.filter(issueEvent -> issueEvent.getState().equals(Constants.IssueState.CLOSED.toValue()))
.count());
Issue reopenedIssue = gitLabApi.getIssuesApi()
.updateIssue(projectId,
issue.getIid(),
null, null, null, null, null, null,
Constants.StateEvent.REOPEN,
null, null);
assertEquals(Constants.IssueState.OPENED.toValue(), reopenedIssue.getState().toValue());
issueEvents = gitLabApi.getResourceStateEventsApi().getIssueStateEvents(projectId, issue.getIid());
assertNotNull(issueEvents);
assertEquals(2, issueEvents.size());
assertEquals(1, issueEvents.stream()
.filter(issueEvent -> issueEvent.getState().equals(Constants.IssueState.CLOSED.toValue()))
.count());
assertEquals(1, issueEvents.stream()
.filter(issueEvent -> issueEvent.getState().equals(Constants.IssueState.REOPENED.toValue()))
.count());
}
}