@Test public void shouldUnderstandUsedParams() { PipelineTemplateConfig template = PipelineTemplateConfigMother.createTemplateWithParams("template-name", "foo", "bar", "baz"); ParamsConfig params = template.referredParams(); assertThat(params.size(), is(3)); assertThat(params, hasItem(new ParamConfig("foo", null))); assertThat(params, hasItem(new ParamConfig("bar", null))); assertThat(params, hasItem(new ParamConfig("baz", null))); params = template.referredParams();//should not mutate assertThat(params.size(), is(3)); }
private void validateDependencies(CruiseConfig preprocessedConfig) { List<CaseInsensitiveString> pipelineNames = preprocessedConfig.pipelinesAssociatedWithTemplate(this.name()); ParamsConfig paramsConfig = this.referredParams(); for (CaseInsensitiveString pipelineName : pipelineNames) { PipelineConfig pipelineConfig = preprocessedConfig.getPipelineConfigByName(pipelineName); PipelineConfigs pipelineGroup = preprocessedConfig.findGroupOfPipeline(pipelineConfig); PipelineConfigSaveValidationContext contextForStages = PipelineConfigSaveValidationContext.forChain(false, pipelineGroup.getGroup(), preprocessedConfig, pipelineConfig); validateParams(pipelineConfig, paramsConfig); validatePartsOfPipelineConfig(pipelineConfig, contextForStages); validateDependenciesOfDownstreams(pipelineConfig, contextForStages); } }