package hudson.plugins.fitnesse; import java.io.File; import java.util.HashMap; import org.junit.Assert; import org.junit.Test; public class FitnesseBuilderTest { @Test public void getPortShouldReturnLocalPortIfSpecified() { HashMap<String, String> options = new HashMap<String, String>(); options.put(FitnesseBuilder.FITNESSE_PORT_LOCAL, "99"); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals(99, builder.getFitnessePort()); options.put(FitnesseBuilder.FITNESSE_PORT_REMOTE, null); Assert.assertEquals(99, builder.getFitnessePort()); options.put(FitnesseBuilder.FITNESSE_PORT_REMOTE, ""); Assert.assertEquals(99, builder.getFitnessePort()); } @Test public void getPortShouldReturnRemotePortIfSpecified() { HashMap<String, String> options = new HashMap<String, String>(); options.put(FitnesseBuilder.FITNESSE_PORT_REMOTE, "999"); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals(999, builder.getFitnessePort()); options.put(FitnesseBuilder.FITNESSE_PORT_LOCAL, null); Assert.assertEquals(999, builder.getFitnessePort()); options.put(FitnesseBuilder.FITNESSE_PORT_LOCAL, ""); Assert.assertEquals(999, builder.getFitnessePort()); } @Test public void getHostShouldReturnLocalHostIfStartBuildIsTrue() { HashMap<String, String> options = new HashMap<String, String>(); options.put(FitnesseBuilder.START_FITNESSE, "True"); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertTrue(builder.getFitnesseStart()); Assert.assertEquals("localhost", builder.getFitnesseHost()); options.put(FitnesseBuilder.FITNESSE_HOST, "abracadabra"); Assert.assertEquals("localhost", builder.getFitnesseHost()); } @Test public void getHostShouldReturnSpecifiedHostIfStartBuildIsFalse() { HashMap<String, String> options = new HashMap<String, String>(); options.put(FitnesseBuilder.START_FITNESSE, "False"); options.put(FitnesseBuilder.FITNESSE_HOST, "hudson.local"); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertFalse(builder.getFitnesseStart()); Assert.assertEquals("hudson.local", builder.getFitnesseHost()); options.put(FitnesseBuilder.FITNESSE_HOST, "abracadabra"); Assert.assertEquals("abracadabra", builder.getFitnesseHost()); } @Test public void getHttpTimeoutShouldReturn60000UnlessValueIsExplicit() { HashMap<String, String> options = new HashMap<String, String>(); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals(60000, builder.getFitnesseHttpTimeout()); options.put(FitnesseBuilder.HTTP_TIMEOUT, "1000"); Assert.assertEquals(1000, builder.getFitnesseHttpTimeout()); } @Test public void getJavaWorkingDirShouldReturnParentOfFitnessseJarUnlessValueIsExplicit() throws Exception { HashMap<String, String> options = new HashMap<String, String>(); File tmpFile = File.createTempFile("fitnesse", ".jar"); options.put(FitnesseBuilder.PATH_TO_JAR, tmpFile.getAbsolutePath()); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals(tmpFile.getParentFile().getAbsolutePath(), builder.getFitnesseJavaWorkingDirectory()); options.put(FitnesseBuilder.JAVA_WORKING_DIRECTORY, "/some/explicit/path"); Assert.assertEquals("/some/explicit/path", builder.getFitnesseJavaWorkingDirectory()); } @Test public void getJavaWorkingDirShouldReturnParentOfFitnessseJarEvenIfRelativeToBuildDir() throws Exception { HashMap<String, String> options = new HashMap<String, String>(); File tmpFile = new File("relativePath", "fitnesse.jar"); options.put(FitnesseBuilder.PATH_TO_JAR, tmpFile.getPath()); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals("relativePath", builder.getFitnesseJavaWorkingDirectory()); } @Test public void getJavaWorkingDirShouldBeEmptyIfFitnessseJarUnspecified() throws Exception { HashMap<String, String> options = new HashMap<String, String>(); FitnesseBuilder builder = new FitnesseBuilder(options); Assert.assertEquals("", builder.getFitnesseJavaWorkingDirectory()); } }