private void validateMaterial(ValidationContext validationContext) { MaterialConfig materialConfig = getMaterialConfig(); if (materialConfig != null) { materialConfig.validateTree(validationContext); } }
public boolean validateTree(PipelineConfigSaveValidationContext validationContext) { if (isEmpty()) { errors().add("materials", "A pipeline must have at least one material"); } validate(validationContext); boolean isValid = errors().isEmpty(); for (MaterialConfig materialConfig : this) { isValid = materialConfig.validateTree(validationContext) && isValid; } return isValid; }
@Test public void validateTree_shouldValidateTheMaterialConfig() { CruiseConfig cruiseConfig = new BasicCruiseConfig(); MaterialConfig materialConfig = mock(MaterialConfig.class); when(materialConfig.errors()).thenReturn(new ConfigErrors()); ConfigRepoConfig configRepoConfig = new ConfigRepoConfig(materialConfig, "plug"); cruiseConfig.setConfigRepos(new ConfigReposConfig(configRepoConfig)); ConfigSaveValidationContext validationContext = ConfigSaveValidationContext.forChain(cruiseConfig); configRepoConfig.validateTree(validationContext); verify(materialConfig).validateTree(validationContext); }