package hudson.plugins.copyartifact; import hudson.EnvVars; import hudson.model.FreeStyleProject; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.Issue; import org.jvnet.hudson.test.JenkinsRule; import static org.junit.Assert.*; public class SpecificBuildSelectorTest { @Rule public final JenkinsRule rule = new JenkinsRule(); @Issue("JENKINS-14266") @Test public void testUnsetVar() throws Exception { FreeStyleProject p = rule.createFreeStyleProject(); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); assertEquals(3, p.getLastBuild().number); BuildSelector s = new SpecificBuildSelector("$NUM"); BuildFilter f = new BuildFilter(); assertEquals(p.getBuildByNumber(2), s.getBuild(p, new EnvVars("NUM", "2"), f, null)); assertEquals(null, s.getBuild(p, new EnvVars("HUM", "two"), f, null)); } @Issue("JENKINS-19693") @Test public void testDisplayName() throws Exception { FreeStyleProject p = rule.createFreeStyleProject(); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); assertEquals(3, p.getLastBuild().number); p.getBuildByNumber(2).setDisplayName("RC1"); BuildSelector s = new SpecificBuildSelector("$NUM"); BuildFilter f = new BuildFilter(); assertEquals(p.getBuildByNumber(2), s.getBuild(p, new EnvVars("NUM", "RC1"), f, null)); assertEquals(null, s.getBuild(p, new EnvVars("NUM", "RC2"), f, null)); } @Test public void testPermalink() throws Exception { FreeStyleProject p = rule.createFreeStyleProject(); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); rule.assertBuildStatusSuccess(p.scheduleBuild2(0)); assertEquals(3, p.getLastBuild().number); BuildSelector s = new SpecificBuildSelector("$NUM"); BuildFilter f = new BuildFilter(); assertEquals(p.getLastSuccessfulBuild(), s.getBuild(p, new EnvVars("NUM", "lastSuccessfulBuild"), f, null)); assertEquals(p.getLastStableBuild(), s.getBuild(p, new EnvVars("NUM", "lastStableBuild"), f, null)); assertEquals(p.getLastBuild(), s.getBuild(p, new EnvVars("NUM", "lastBuild"), f, null)); assertEquals(p.getLastFailedBuild(), s.getBuild(p, new EnvVars("NUM", "lastFailedBuild"), f, null)); assertEquals(p.getLastUnstableBuild(), s.getBuild(p, new EnvVars("NUM", "lastUnstableBuild"), f, null)); assertEquals(p.getLastUnsuccessfulBuild(), s.getBuild(p, new EnvVars("NUM", "lastUnsuccessfulBuild"), f, null)); } }