public boolean validateTree(ValidationContext validationContext) { validate(validationContext); boolean isValid = errors().isEmpty(); isValid = resourceConfigs.validateTree(validationContext) && isValid; return isValid; } public void validate(ValidationContext validationContext) {
public boolean validateTree(ValidationContext validationContext) { validate(validationContext); boolean isValid = errors.isEmpty(); ValidationContext contextForChildren = validationContext.withParent(this); isValid = tasks.validateTree(contextForChildren) && isValid; isValid = variables.validateTree(contextForChildren) && isValid; isValid = resourceConfigs.validateTree(contextForChildren) && isValid; isValid = artifactPropertiesConfig.validateTree(contextForChildren) && isValid; isValid = tabs.validateTree(contextForChildren) && isValid; isValid = artifactConfigs.validateTree(contextForChildren) && isValid; return isValid; }
EnvironmentVariablesConfig variables = mock(EnvironmentVariablesConfig.class); when(tasks.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(resourceConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(properties.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(artifactConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); PipelineConfigSaveValidationContext childContext = captor.getValue(); assertThat(childContext.getParent(), is(jobConfig)); verify(resourceConfigs).validateTree(childContext); verify(properties).validateTree(childContext); verify(artifactConfigs).validateTree(childContext);
EnvironmentVariablesConfig variables = mock(EnvironmentVariablesConfig.class); when(tasks.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(true); when(resourceConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(true); when(properties.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(true); when(artifactConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(true); PipelineConfigSaveValidationContext childContext = captor.getValue(); assertThat(childContext.getParent(), is(jobConfig)); verify(resourceConfigs).validateTree(childContext); verify(properties).validateTree(childContext); verify(artifactConfigs).validateTree(childContext);
@Test public void shouldValidateTree(){ ResourceConfig resourceConfig1 = new ResourceConfig("a#"); ResourceConfig resourceConfig2 = new ResourceConfig("b"); ResourceConfigs resourceConfigs = new ResourceConfigs(resourceConfig1, resourceConfig2); resourceConfigs.validateTree(PipelineConfigSaveValidationContext.forChain(true, "group", new PipelineConfig())); assertThat(resourceConfig1.errors().size(), is(1)); assertThat(resourceConfig1.errors().firstError(), is(String.format("Resource name 'a#' is not valid. Valid names much match '%s'", ResourceConfig.VALID_REGEX))); assertThat(resourceConfig2.errors().isEmpty(), is(true)); } }