package hudson.plugins.cigame.rules.plugins.checkstyle;
import static hudson.plugins.cigame.util.Assert.*;
import hudson.model.FreeStyleBuild;
import hudson.model.FreeStyleProject;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.recipes.LocalData;
public class DefaultCheckstyleRuleIntegrationTest extends HudsonTestCase {
@LocalData
public void testNoPointsAwardedForFirstBuild() throws Exception {
FreeStyleBuild build = ((FreeStyleProject) hudson.getItem("checkstyle-first")).scheduleBuild2(0).get();
assertBuildStatusSuccess(build);
assertPointsForBuildEquals(build, 1);
assertPointsForRuleEquals(build, Messages.CheckstyleRuleSet_Title(), 0);
}
@LocalData
public void testPointsAwardedForChangeInCheckstyleErrors() throws Exception {
FreeStyleBuild build = ((FreeStyleProject) hudson.getItem("checkstyle-change")).scheduleBuild2(0).get();
assertBuildStatusSuccess(build);
assertPointsForBuildEquals(build, 1 + 2 * -1);
assertPointsForRuleSetEquals(build, Messages.CheckstyleRuleSet_Title(), -2);
}
@LocalData
public void testNoPointsAwardedAsLastBuildFailed() throws Exception {
FreeStyleBuild build = ((FreeStyleProject) hudson.getItem("checkstyle-previous-failed")).scheduleBuild2(0).get();
assertBuildStatusSuccess(build);
assertPointsForBuildEquals(build, 1);
assertPointsForRuleEquals(build, Messages.CheckstyleRuleSet_Title(), 0);
}
@LocalData
public void testNoPointsAwardedAsLastBuildDidNotContainSpecifiedReport() throws Exception {
FreeStyleBuild build = ((FreeStyleProject) hudson.getItem("checkstyle-no-previous-report")).scheduleBuild2(0).get();
assertBuildStatusSuccess(build);
assertPointsForBuildEquals(build, 1);
assertPointsForRuleEquals(build, Messages.CheckstyleRuleSet_Title(), 0);
}
}