package hudson.plugins.emailext.plugins.trigger;
import hudson.model.Result;
import hudson.plugins.emailext.plugins.EmailTrigger;
import org.junit.Test;
import java.io.IOException;
public class SecondFailureTriggerTest extends TriggerTestBase {
@Override
EmailTrigger newInstance() {
return new SecondFailureTrigger(recProviders, "", "", "", "", "", 0, "project");
}
@Test
public void testTrigger_success()
throws IOException, InterruptedException {
assertNotTriggered(Result.SUCCESS);
}
@Test
public void testTrigger_firstFailureAfterSuccess()
throws IOException, InterruptedException {
assertNotTriggered(Result.SUCCESS, Result.FAILURE);
}
@Test
public void testTrigger_secondFailureAfterSuccess()
throws IOException, InterruptedException {
assertTriggered(Result.SUCCESS, Result.FAILURE, Result.FAILURE);
assertTriggered(Result.FAILURE, Result.FAILURE, Result.SUCCESS, Result.FAILURE, Result.FAILURE);
}
@Test
public void testTrigger_thirdFailureAfterSuccess()
throws IOException, InterruptedException {
assertNotTriggered(Result.SUCCESS, Result.FAILURE, Result.FAILURE, Result.FAILURE);
}
@Test
public void testTrigger_firstBuildFails()
throws IOException, InterruptedException {
assertNotTriggered(Result.FAILURE);
}
@Test
public void testTrigger_firstTwoBuildsFail()
throws IOException, InterruptedException {
assertTriggered(Result.FAILURE, Result.FAILURE);
}
@Test
public void testTrigger_firstThreeBuildsFail()
throws IOException, InterruptedException {
assertNotTriggered(Result.FAILURE, Result.FAILURE, Result.FAILURE);
}
}