@Test public void shouldUseConfiguredWorkingDirectory() throws Exception { File absoluteFile = new File("test").getAbsoluteFile(); ExecTask task = new ExecTask("command", "arguments", absoluteFile.getAbsolutePath()); assertThat(task.workingDirectory(), Matchers.is(absoluteFile.getPath())); } }
@Test public void shouldReturnPassedByDefaultWhenNoRunIfConfigIsSpecified() { AbstractTask execTask = new ExecTask("ls", "-la", "42"); assertThat(execTask.getConditionsForDisplay(), is("Passed")); }
@Test public void validate_shouldErrorOutWhenAnOncancelTaskHasAnOncancelTask() { AbstractTask task = new ExecTask(); ExecTask onCancelTask = new ExecTask(); onCancelTask.setCancelTask(new ExecTask()); task.setCancelTask(onCancelTask); task.validate(null); assertThat(task.errors().isEmpty(), is(false)); assertThat(task.errors().on(AbstractTask.ON_CANCEL_CONFIG), is("Cannot nest 'oncancel' within a cancel task")); }
@Test public void shouldReturnCommandTaskAttributes(){ ExecTask task = new ExecTask("ls", "-laht", "src/build"); assertThat(task.command(),is("ls")); assertThat(task.arguments(), is("-laht")); assertThat(task.workingDirectory(), is("src/build")); }
@Test public void shouldKnowTheTypeOfExecTask() { assertThat(new ExecTask().getTaskType(), is("exec")); assertThat(new FetchTask().getTaskType(), is("fetch")); }
public ExecTask toExecTask(CRExecTask crTask) { ExecTask execTask = new ExecTask(crTask.getCommand(), toArgList(crTask.getArgs()), crTask.getWorkingDirectory()); if (crTask.getTimeout() != null) execTask.setTimeout(crTask.getTimeout()); // else default global-wide time setCommonTaskMembers(execTask, crTask); return execTask; }
@Test public void shouldReturnTheOnCancelOptionBasedOnWhatTheOnCancelTaskIs() { assertThat(new OnCancelConfig().onCancelOption(), is("")); assertThat(new OnCancelConfig(new ExecTask()).onCancelOption(), is("Custom Command")); assertThat(new OnCancelConfig(new AntTask()).onCancelOption(), is("Ant")); assertThat(new OnCancelConfig(new RakeTask()).onCancelOption(), is("Rake")); }
@Test public void shouldNotSetArgsIfTheValueIsBlank() throws Exception { ExecTask exec = new ExecTask(); exec.setConfigAttributes(m(ExecTask.COMMAND, "ls", ExecTask.ARGS, "", ExecTask.WORKING_DIR, "my_dir")); exec.setConfigAttributes(m()); assertThat(exec.command(), is("ls")); assertThat(exec.getArgList().size(), is(0)); assertThat(exec.workingDirectory(), is("my_dir")); }
@Test public void shouldLoadTasksWithOnCancel() throws Exception { CruiseConfig config = ConfigMigrator.loadWithMigration(TASKS_WITH_ON_CANCEL).config; JobConfig job = config.jobConfigByName("pipeline1", "mingle", "cardlist", true); Task task = job.tasks().findFirstByType(AntTask.class); assertThat(task.hasCancelTask(), is(true)); assertThat(task.cancelTask(), is(new ExecTask("kill.rb", "", "utils"))); Task task2 = job.tasks().findFirstByType(ExecTask.class); assertThat(task2.hasCancelTask(), is(false)); }
@Test public void shouldReturnCommaSeparatedRunIfConfigsConditionsForDisplay() { AbstractTask execTask = new ExecTask("ls", "-la", "42"); execTask.getConditions().add(RunIfConfig.PASSED); execTask.getConditions().add(RunIfConfig.FAILED); execTask.getConditions().add(RunIfConfig.ANY); String actual = execTask.getConditionsForDisplay(); assertThat(actual, is("Passed, Failed, Any")); }
@Test public void shouldBeValid() throws Exception { ExecTask execTask = new ExecTask("", new Arguments(new Argument("arg1"), new Argument("arg2"))); execTask.validate(ConfigSaveValidationContext.forChain(new BasicCruiseConfig())); assertThat(execTask.errors().isEmpty(), is(true)); execTask = new ExecTask("command", "", "blah"); execTask.validate(ConfigSaveValidationContext.forChain(new BasicCruiseConfig())); assertThat(execTask.errors().isEmpty(), is(true)); }
@Test public void describeMutipleArgumentsTest() { ExecTask task = new ExecTask("echo", null, new Arguments(new Argument("abc"), new Argument("hello baby!"))); task.setTimeout(600); assertThat(task.describe(), is("echo abc \"hello baby!\"")); }
@Test public void shouldValidateConfig() throws Exception { ExecTask execTask = new ExecTask("arg1 arg2", new Arguments(new Argument("arg1"), new Argument("arg2"))); execTask.validate(ConfigSaveValidationContext.forChain(new BasicCruiseConfig())); assertThat(execTask.errors().isEmpty(), is(false)); assertThat(execTask.errors().on(ExecTask.ARGS), is(ExecTask.EXEC_CONFIG_ERROR)); assertThat(execTask.errors().on(ExecTask.ARG_LIST_STRING), is(ExecTask.EXEC_CONFIG_ERROR)); }
@Test public void shouldReturnCommandArgumentList(){ ExecTask task = new ExecTask("./bn", new Arguments(new Argument("clean"), new Argument("compile"), new Argument("\"buildfile\"")), "src/build" ); assertThat(task.arguments(),is("clean compile \"buildfile\"")); }
@Test public void shouldRegisterViewEnginesForAllTasks() { assertReturnsAppropriateViewModelForInbuiltTasks(registry, new AntTask(), "ant"); assertReturnsAppropriateViewModelForInbuiltTasks(registry, new ExecTask(), "exec"); assertReturnsAppropriateViewModelForInbuiltTasks(registry, new FetchTask(), "fetch"); assertReturnsAppropriateViewModelForInbuiltTasks(registry, new RakeTask(), "rake"); assertReturnsAppropriateViewModelForInbuiltTasks(registry, new NantTask(), "nant"); }
private StageConfig getStageConfig(String stageName, String jobName) { JobConfig jobConfig = new JobConfig(new CaseInsensitiveString(jobName)); jobConfig.addTask(new AntTask()); jobConfig.addTask(new ExecTask("command", "", "workingDir")); jobConfig.artifactConfigs().add(new BuildArtifactConfig("src", "dest")); jobConfig.addVariable("env1", "val1"); jobConfig.addResourceConfig("powerful"); JobConfigs jobConfigs = new JobConfigs(jobConfig); return new StageConfig(new CaseInsensitiveString(stageName), jobConfigs); }