package hudson.tools; import org.jvnet.hudson.test.HudsonTestCase; import org.jvnet.hudson.test.recipes.LocalData; import hudson.tasks.Maven; import hudson.tasks.Ant; import hudson.model.JDK; import hudson.model.Hudson; import static junit.framework.Assert.*; import java.util.Arrays; /** * @author huybrechts */ public class ToolLocationTest extends HudsonTestCase { /** * Test xml compatibility since 'extends ToolInstallation' */ @LocalData public void testToolCompatibility() { Maven.MavenInstallation[] maven = Hudson.getInstance().getDescriptorByType(Maven.DescriptorImpl.class).getInstallations(); assertEquals(maven.length, 1); assertEquals(maven[0].getHome(), "bar"); assertEquals(maven[0].getName(), "Maven 1"); Ant.AntInstallation[] ant = Hudson.getInstance().getDescriptorByType(Ant.DescriptorImpl.class).getInstallations(); assertEquals(ant.length, 1); assertEquals(ant[0].getHome(), "foo"); assertEquals(ant[0].getName(), "Ant 1"); JDK[] jdk = Hudson.getInstance().getDescriptorByType(JDK.DescriptorImpl.class).getInstallations(); assertEquals(Arrays.asList(jdk), Hudson.getInstance().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()); } }