package hudson.plugins.jira;
import com.atlassian.jira.rest.client.api.RestClientException;
import hudson.util.FormValidation;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
* Created by warden on 14.09.15.
*/
public class DescriptorImplTest {
// @Rule
// JenkinsRule rule = new JenkinsRule();
JiraSite.DescriptorImpl descriptor = new JiraSite.DescriptorImpl();
JiraSite jiraSite = mock(JiraSite.class);
JiraSession jiraSession = mock(JiraSession.class);
@Rule
public final ExpectedException exception = ExpectedException.none();
@Test
public void testDoValidate() throws Exception {
FormValidation validation = descriptor.doValidate(null, null, null, null, null, false, null, JiraSite.DEFAULT_TIMEOUT);
assertEquals(validation.kind, FormValidation.Kind.ERROR);
validation = descriptor.doValidate("user", "invalid", "pass", null, null, false, null, JiraSite.DEFAULT_TIMEOUT);
assertEquals(validation.kind, FormValidation.Kind.ERROR);
validation = descriptor.doValidate("user", "http://valid/", "pass", null, null, false, "invalid", JiraSite.DEFAULT_TIMEOUT);
assertEquals(validation.kind, FormValidation.Kind.ERROR);
}
@Test
public void testValidateConnectionError() throws Exception {
when(jiraSession.getMyPermissions()).thenThrow(RestClientException.class);
when(jiraSite.createSession()).thenReturn(jiraSession);
FormValidation validation = descriptor.doValidate("user", "http://localhost:8080", "pass", null, null, false, " ", JiraSite.DEFAULT_TIMEOUT);
assertEquals(validation.kind, FormValidation.Kind.ERROR);
}
}