package org.zend.sdk.test.sdklib.monitor;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import java.io.IOException;
import java.net.MalformedURLException;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.zend.sdklib.internal.monitor.ZendIssue;
import org.zend.sdklib.monitor.IZendIssue;
import org.zend.webapi.core.WebApiException;
import org.zend.webapi.core.connection.data.EventsGroupDetails;
import org.zend.webapi.core.connection.data.IResponseData;
import org.zend.webapi.core.connection.data.Issue;
import org.zend.webapi.core.connection.data.IssueDetails;
import org.zend.webapi.core.connection.data.values.IssueStatus;
public class TestZendIssue extends TestZendMonitor {
private IZendIssue issue;
@Test
public void testGetIssueDetails() throws WebApiException, IOException {
when(client.monitorGetIssueDetails(Mockito.anyInt())).thenReturn(
(IssueDetails) getResponseData("monitorGetIssueDetails",
IResponseData.ResponseType.ISSUE_DETAILS));
assertNotNull(issue.getDetails());
}
@Test
public void testGetGroupsDetails() throws WebApiException, IOException {
when(client.monitorGetIssueDetails(Mockito.anyInt())).thenReturn(
(IssueDetails) getResponseData("monitorGetIssueDetails",
IResponseData.ResponseType.ISSUE_DETAILS));
when(
client.monitorGetEventGroupDetails(Mockito.anyString(),
Mockito.anyInt())).thenReturn(
(EventsGroupDetails) getResponseData(
"monitorGetEventGroupDetails",
IResponseData.ResponseType.EVENTS_GROUP_DETAILS));
assertNotNull(issue.getGroupDetails());
}
@Test
public void testChangeStatus() throws WebApiException, IOException {
when(
client.monitorChangeIssueStatus(Mockito.anyInt(),
Mockito.any(IssueStatus.class))).thenReturn(
(Issue) getResponseData("monitorChangeIssueStatus",
IResponseData.ResponseType.ISSUE));
assertNotNull(issue.changeStatus(IssueStatus.CLOSED));
}
@Before
public void startup() throws MalformedURLException {
super.startup();
issue = spy(new ZendIssue(Mockito.mock(Issue.class), monitor));
}
}