public PipelineConfigs findGroupByPipeline(CaseInsensitiveString pipelineName) { for (PipelineConfigs group : this) { if (group.hasPipeline(pipelineName)) { return group; } } return null; }
public PipelineConfigs getPartWithPipeline(CaseInsensitiveString pipelineName) { for(PipelineConfigs part : parts) { if(part.hasPipeline(pipelineName)) return part; } return null; }
@Override public boolean hasPipeline(CaseInsensitiveString pipelineName) { for (PipelineConfigs part : this.parts) { if(part.hasPipeline(pipelineName)) return true; } return false; }
private boolean alreadyContains(PipelineConfig pipelineConfig) { for (PipelineConfigs part : this.parts) { if(part.hasPipeline(pipelineConfig.name())) return true; } return false; }
@Override public boolean isInFirstGroup(final CaseInsensitiveString pipelineName) { if (groups.isEmpty()) { throw new IllegalStateException("No pipeline group defined yet!"); } return groups.first().hasPipeline(pipelineName); }
public void deletePipeline(PipelineConfig pipelineConfig) { for (PipelineConfigs group : this) { if(group.hasPipeline(pipelineConfig.name())){ group.remove(pipelineConfig); return; } } }
private int getIndex(String pipelineName) { CaseInsensitiveString caseName = new CaseInsensitiveString(pipelineName); int start =0; for (PipelineConfigs part : this.parts) { int end = start + part.size(); if(part.hasPipeline(caseName)) { int internalIndex = part.indexOf(part.findBy(caseName)); return start + internalIndex; } start = end; } return -1; }
private void verifyUniqueNameInParts(PipelineConfig pipelineConfig) { for (PartialConfig part : this.parts) { for (PipelineConfigs partGroup : part.getGroups()) { if (partGroup.hasPipeline(pipelineConfig.name())) { throw bomb("Pipeline called '" + pipelineConfig.name() + "' is already defined in configuration repository " + part.getOrigin().displayName()); } } } }
@Test public void shouldReturnTrueIfPipelineExist() { PipelineConfig pipelineConfig = PipelineConfigMother.pipelineConfig("pipeline1"); PipelineConfigs configs = createWithPipeline(pipelineConfig); assertThat("shouldReturnTrueIfPipelineExist", configs.hasPipeline(new CaseInsensitiveString("pipeline1")), is(true)); }
@Test public void shouldReturnFalseIfPipelineNotExist() { PipelineConfigs configs = createWithPipeline(PipelineConfigMother.pipelineConfig("pipeline1")); assertThat("shouldReturnFalseIfPipelineNotExist", configs.hasPipeline(new CaseInsensitiveString("not-exist")), is(false)); }
@Test public void shouldGetPipelinesWithGroupName() throws Exception { PipelineConfig pipeline1 = createPipelineConfig("pipeline1", "stage1"); cruiseConfig.getGroups().addPipeline("existing_group", pipeline1); assertThat(cruiseConfig.pipelines("existing_group"), hasItem(pipeline1)); assertThat(cruiseConfig.pipelines("remote_group").hasPipeline(new CaseInsensitiveString("remote-pipe-1")), is(true)); }
@Test public void shouldAddToFirstEditableWhenAddToTop() { BasicPipelineConfigs filePart = new BasicPipelineConfigs(PipelineConfigMother.pipelineConfig("pipeline2")); filePart.setOrigin(new FileConfigOrigin()); PipelineConfigs group = new MergePipelineConfigs(new BasicPipelineConfigs(PipelineConfigMother.pipelineConfig("pipeline1")),filePart); group.addToTop(PipelineConfigMother.pipelineConfig("pipeline3")); assertThat(filePart.hasPipeline(new CaseInsensitiveString("pipeline3")),is(true)); assertThat(group.hasPipeline(new CaseInsensitiveString("pipeline3")),is(true)); }