// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesseMain; import fitnesse.Arguments; import static org.junit.Assert.*; import org.junit.Test; public class ArgumentsTest { private Arguments args; @Test public void testSimpleCommandline() throws Exception { args = makeArgs(new String[0]); assertNotNull(args); assertEquals(80, args.getPort()); assertEquals(".", args.getRootPath()); } private Arguments makeArgs(String... argArray) { return args = FitNesseMain.parseCommandLine(argArray); } @Test public void testArgumentsDefaults() throws Exception { makeArgs(); assertEquals(80, args.getPort()); assertEquals(".", args.getRootPath()); assertEquals("FitNesseRoot", args.getRootDirectory()); assertEquals(null, args.getLogDirectory()); assertEquals(false, args.isOmittingUpdates()); assertEquals(14, args.getDaysTillVersionsExpire()); assertEquals(null, args.getUserpass()); assertEquals(false, args.isInstallOnly()); assertNull(args.getCommand()); } @Test public void testArgumentsAlternates() throws Exception { String argString = "-p 123 -d MyWd -r MyRoot -l LogDir -e 321 -o -a userpass.txt -i"; makeArgs(argString.split(" ")); assertEquals(123, args.getPort()); assertEquals("MyWd", args.getRootPath()); assertEquals("MyRoot", args.getRootDirectory()); assertEquals("LogDir", args.getLogDirectory()); assertEquals(true, args.isOmittingUpdates()); assertEquals(321, args.getDaysTillVersionsExpire()); assertEquals("userpass.txt", args.getUserpass()); assertEquals(true, args.isInstallOnly()); } @Test public void testAllArguments() throws Exception { args = makeArgs("-p", "81", "-d", "directory", "-r", "root", "-l", "myLogDirectory", "-o", "-e", "22"); assertNotNull(args); assertEquals(81, args.getPort()); assertEquals("directory", args.getRootPath()); assertEquals("root", args.getRootDirectory()); assertEquals("myLogDirectory", args.getLogDirectory()); assertTrue(args.isOmittingUpdates()); assertEquals(22, args.getDaysTillVersionsExpire()); } @Test public void testNotOmitUpdates() throws Exception { args = makeArgs("-p", "81", "-d", "directory", "-r", "root", "-l", "myLogDirectory"); assertNotNull(args); assertEquals(81, args.getPort()); assertEquals("directory", args.getRootPath()); assertEquals("root", args.getRootDirectory()); assertEquals("myLogDirectory", args.getLogDirectory()); assertFalse(args.isOmittingUpdates()); } @Test public void commandShouldUseDifferentDefaultPort() throws Exception { args = makeArgs("-c", "someCommand"); assertNotNull(args); assertEquals(Arguments.DEFAULT_COMMAND_PORT, args.getPort()); } @Test public void commandShouldAllowPortToBeSet() throws Exception { args = makeArgs("-c", "someCommand", "-p", "666"); assertNotNull(args); assertEquals(666, args.getPort()); } @Test public void testBadArgument() throws Exception { args = makeArgs("-x"); assertNull(args); } }