package hudson.scm; import hudson.model.FreeStyleProject; import hudson.model.TaskListener; import org.jenkinsci.plugins.envinject.EnvInjectJobProperty; import org.jenkinsci.plugins.envinject.EnvInjectJobPropertyInfo; 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.assertTrue; import org.junit.Ignore; public class SubversionEnvInjectTest { public static String REPO_URL = "https://svn.jenkins-ci.org/trunk/hudson/test-projects/${REPO}"; @Rule public JenkinsRule jenkins = new JenkinsRule(); /** * This test aims to verify that the variables defined in the "Properties Content" field, are availables in SCM Polling. */ @Ignore("TODO org.tmatesoft.svn.core.SVNException: svn: E175002: PROPFIND of '/trunk/hudson/test-projects/trivial-maven': 405 Method Not Allowed (https://svn.jenkins-ci.org)") @Issue("JENKINS-29340") @Test public void pollingWithEnvInject() throws Exception { FreeStyleProject project = jenkins.createFreeStyleProject(); EnvInjectJobPropertyInfo jobPropertyInfo = new EnvInjectJobPropertyInfo(null, "REPO=trivial-maven", null, null, null, false); EnvInjectJobProperty envInjectJobProperty = new EnvInjectJobProperty(); envInjectJobProperty.setOn(true); envInjectJobProperty.setInfo(jobPropertyInfo); project.addProperty(envInjectJobProperty); project.setScm(new SubversionSCM(REPO_URL)); TaskListener listener = jenkins.createTaskListener(); PollingResult poll = project.poll(listener); // If true means that parameters have been replaced correctly and we have a valid repository URL. assertTrue(poll.hasChanges()); jenkins.assertBuildStatusSuccess(project.scheduleBuild2(0).get()); } }