package org.jenkinsci.plugins.github.status.err; import hudson.model.Result; import hudson.model.Run; import hudson.model.TaskListener; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.runners.MockitoJUnitRunner; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.verify; /** * @author lanwen (Merkushev Kirill) */ @RunWith(MockitoJUnitRunner.class) public class ErrorHandlersTest { @Mock private Run run; @Mock private TaskListener listener; @Test public void shouldSetFailureResultStatus() throws Exception { boolean handled = new ChangingBuildStatusErrorHandler(Result.FAILURE.toString()) .handle(new RuntimeException(), run, listener); verify(run).setResult(Result.FAILURE); assertThat("handling", handled, is(true)); } @Test public void shouldSetFailureResultStatusOnUnknownSetup() throws Exception { boolean handled = new ChangingBuildStatusErrorHandler("") .handle(new RuntimeException(), run, listener); verify(run).setResult(Result.FAILURE); assertThat("handling", handled, is(true)); } @Test public void shouldHandleAndDoNothing() throws Exception { boolean handled = new ShallowAnyErrorHandler().handle(new RuntimeException(), run, listener); assertThat("handling", handled, is(true)); Mockito.verifyNoMoreInteractions(run); } }