package hudson.tools; import static org.junit.Assert.assertEquals; import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.JenkinsRule; import org.jvnet.hudson.test.recipes.LocalData; import hudson.tasks.Maven; import hudson.tasks.Ant; import hudson.model.JDK; import java.util.Arrays; /** * @author huybrechts */ public class ToolLocationTest { @Rule public JenkinsRule j = new JenkinsRule(); /** * Test xml compatibility since 'extends ToolInstallation' */ @Test @LocalData public void toolCompatibility() { Maven.MavenInstallation[] maven = j.jenkins.getDescriptorByType(Maven.DescriptorImpl.class).getInstallations(); assertEquals(maven.length, 1); assertEquals(maven[0].getHome(), "bar"); assertEquals(maven[0].getName(), "Maven 1"); Ant.AntInstallation[] ant = j.jenkins.getDescriptorByType(Ant.DescriptorImpl.class).getInstallations(); assertEquals(ant.length, 1); assertEquals(ant[0].getHome(), "foo"); assertEquals(ant[0].getName(), "Ant 1"); JDK[] jdk = j.jenkins.getDescriptorByType(JDK.DescriptorImpl.class).getInstallations(); assertEquals(Arrays.asList(jdk), j.jenkins.getJDKs()); assertEquals(2, jdk.length); // HudsonTestCase adds a 'default' JDK assertEquals("default", jdk[1].getName()); // make sure it's really that we're seeing assertEquals("FOOBAR", jdk[0].getHome()); assertEquals("FOOBAR", jdk[0].getJavaHome()); assertEquals("1.6", jdk[0].getName()); } }