private AntTask antTask(final String buildFile, final String target, final String workingDir) { AntTask antTask = new AntTask(); antTask.setBuildFile(buildFile); antTask.setWorkingDirectory(workingDir); antTask.setTarget(target); return antTask; }
@Test public void shouldReturnCommandAndWorkingDir(){ antTask.setWorkingDirectory("lib"); assertThat(antTask.command(),is("ant")); assertThat(antTask.workingDirectory(), is("lib")); }
@Test public void shouldSetPrimitiveAttributesForAntTask() { Map hashMap = new HashMap(); hashMap.put(OnCancelConfig.ON_CANCEL_OPTIONS, "ant"); Map valueMap = new HashMap(); valueMap.put(BuildTask.BUILD_FILE, "build.xml"); valueMap.put(BuildTask.TARGET, "blah"); valueMap.put(BuildTask.WORKING_DIRECTORY, "pwd"); hashMap.put(OnCancelConfig.ANT_ON_CANCEL, valueMap); hashMap.put(OnCancelConfig.EXEC_ON_CANCEL, new HashMap()); when(taskFactory.taskInstanceFor(new AntTask().getTaskType())).thenReturn(new AntTask()); OnCancelConfig cancelConfig = OnCancelConfig.create(hashMap, taskFactory); AntTask expectedAntTask = new AntTask(); expectedAntTask.setBuildFile("build.xml"); expectedAntTask.setTarget("blah"); expectedAntTask.setWorkingDirectory("pwd"); assertThat(cancelConfig.getTask(), is(expectedAntTask)); }
@Test public void describeTest() throws Exception { antTask.setBuildFile("build.xml"); antTask.setTarget("test"); antTask.setWorkingDirectory("lib"); assertThat(antTask.describe(), is("ant -f \"build.xml\" test (workingDirectory: lib)")); }
private static void addTask(JobConfig jobConfig) { jobConfig.setVariables(EnvironmentVariablesConfigMother.environmentVariables()); AntTask task = new AntTask(); task.setBuildFile("build-file"); task.setTarget("target"); task.setWorkingDirectory("working-directory"); jobConfig.addTask(task); }
@Test public void shouldValidateTree(){ String pipelineName = "p1"; PipelineConfig pipelineConfig = GoConfigMother.configWithPipelines(pipelineName).pipelineConfigByName(new CaseInsensitiveString(pipelineName)); StageConfig stageConfig = pipelineConfig.getStages().get(0); JobConfig jobConfig = stageConfig.getJobs().get(0); AbstractTask execTask = new ExecTask("ls", "-la", "42"); AntTask antTask = new AntTask(); antTask.setWorkingDirectory("/abc"); execTask.setCancelTask(antTask); PipelineConfigSaveValidationContext context = PipelineConfigSaveValidationContext.forChain(true, "group", pipelineConfig, stageConfig, jobConfig); assertThat(execTask.validateTree(context), is(false)); assertThat(antTask.errors().isEmpty(), is(false)); assertThat(antTask.errors().get(AntTask.WORKING_DIRECTORY).size(), is(1)); assertThat(antTask.errors().get(AntTask.WORKING_DIRECTORY).contains("Task of job 'job' in stage 'stage' of pipeline 'p1' has path '/abc' which is outside the working directory."), is(true)); }
public static CruiseConfig pipelineHavingJob(String pipelineName, String stageName, String jobPlanName, String filePath, String directoryPath) { CruiseConfig config = new BasicCruiseConfig(); config.server().setArtifactsDir("logs"); JobConfig job = new JobConfig(jobPlanName); String workingDir = new File("testdata/" + CruiseConfig.WORKING_BASE_DIR + stageName).getPath(); AntTask task = new AntTask(); task.setWorkingDirectory(workingDir); job.addTask(task); final BuildArtifactConfig artifactFile = new BuildArtifactConfig(); artifactFile.setSource(filePath); job.artifactConfigs().add(artifactFile); BuildArtifactConfig artifactDir = new BuildArtifactConfig(); artifactFile.setSource(directoryPath); job.artifactConfigs().add(artifactDir); PipelineConfig pipelineConfig = new PipelineConfig(new CaseInsensitiveString(pipelineName), new MaterialConfigs(new SvnMaterialConfig("file:///foo", null, null, false)), new StageConfig( new CaseInsensitiveString(stageName), new JobConfigs(job))); config.addPipeline(BasicPipelineConfigs.DEFAULT_GROUP, pipelineConfig); return config; }