@Override public Boolean isUsedInFetchArtifact(PipelineConfig pipelineConfig){ List<FetchTask> fetchTasks = pipelineConfig.getFetchTasks(); for (FetchTask fetchTask : fetchTasks) { if(pipelineName.equals(fetchTask.getDirectParentInAncestorPath())) return true; } return false; }
public Boolean isUsedInFetchArtifact(PipelineConfig pipelineConfig) { List<FetchTask> fetchTasks = pipelineConfig.getFetchTasks(); for (FetchTask fetchTask : fetchTasks) { if (pipelineName.equals(fetchTask.getDirectParentInAncestorPath())) return true; } return false; }
@Test public void shouldDetectDependencyMaterialUsedInFetchArtifactFromAncestor() { DependencyMaterial material = new DependencyMaterial(new CaseInsensitiveString("parent-pipeline"), new CaseInsensitiveString("stage-bar")); PipelineConfig pipelineConfig = mock(PipelineConfig.class); ArrayList<FetchTask> fetchTasks = new ArrayList<>(); fetchTasks.add(new FetchTask(new CaseInsensitiveString("grandparent-pipeline/parent-pipeline"), new CaseInsensitiveString("grandparent-stage"), new CaseInsensitiveString("grandparent-job"), "src", "dest")); when(pipelineConfig.getFetchTasks()).thenReturn(fetchTasks); assertThat(material.isUsedInFetchArtifact(pipelineConfig), is(true)); }
@Test public void shouldDetectDependencyMaterialNotUsedInFetchArtifact() { DependencyMaterial material = new DependencyMaterial(new CaseInsensitiveString("pipeline-foo"), new CaseInsensitiveString("stage-bar")); PipelineConfig pipelineConfig = mock(PipelineConfig.class); ArrayList<FetchTask> fetchTasks = new ArrayList<>(); fetchTasks.add(new FetchTask(new CaseInsensitiveString("something"), new CaseInsensitiveString("new"), "src", "dest")); fetchTasks.add(new FetchTask(new CaseInsensitiveString("another"), new CaseInsensitiveString("boo"),new CaseInsensitiveString("foo"), "src", "dest")); when(pipelineConfig.getFetchTasks()).thenReturn(fetchTasks); assertThat(material.isUsedInFetchArtifact(pipelineConfig), is(false)); }
@Test public void shouldDetectDependencyMaterialUsedInFetchArtifact() { DependencyMaterial material = new DependencyMaterial(new CaseInsensitiveString("pipeline-foo"), new CaseInsensitiveString("stage-bar")); PipelineConfig pipelineConfig = mock(PipelineConfig.class); ArrayList<FetchTask> fetchTasks = new ArrayList<>(); fetchTasks.add(new FetchTask(new CaseInsensitiveString("something"), new CaseInsensitiveString("new"), "src", "dest")); fetchTasks.add(new FetchTask(new CaseInsensitiveString("pipeline-foo"), new CaseInsensitiveString("stage-bar"), new CaseInsensitiveString("job"), "src", "dest")); when(pipelineConfig.getFetchTasks()).thenReturn(fetchTasks); assertThat(material.isUsedInFetchArtifact(pipelineConfig), is(true)); }
@Test public void shouldGetAllFetchTasks() { PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("foo bar", "stage1", "job1"); FetchTask firstFetch = new FetchTask(); JobConfig firstJob = pipelineConfig.getFirstStageConfig().getJobs().get(0); firstJob.addTask(firstFetch); firstJob.addTask(new AntTask()); JobConfig secondJob = new JobConfig(); secondJob.addTask(new ExecTask()); FetchTask secondFetch = new FetchTask(); secondJob.addTask(secondFetch); pipelineConfig.add(new StageConfig(new CaseInsensitiveString("stage-2"), new JobConfigs(secondJob))); List<FetchTask> fetchTasks = pipelineConfig.getFetchTasks(); assertThat(fetchTasks.size(), is(2)); assertThat(fetchTasks.contains(firstFetch), is(true)); assertThat(fetchTasks.contains(secondFetch), is(true)); }
assertThat(holder.config.pipelineConfigByName(new CaseInsensitiveString("downest_pipeline")).getFetchTasks().get(0), is(new FetchTask(new CaseInsensitiveString("uppest_pipeline/up_pipeline/down_pipeline"), new CaseInsensitiveString("uppest_stage"), new CaseInsensitiveString("uppest_job"), "src", "dest")));