@Override public void validate(ValidationContext validationContext) { if (isBlank(name)) { errors().add(NAME, "Package name is mandatory"); } else if (new NameTypeValidator().isNameInvalid(name)) { errors().add(NAME, NameTypeValidator.errorMessage("Package", name)); } configuration.validateUniqueness(String.format("Package '%s'", name)); }
@Override public void validate(ValidationContext validationContext) { if (isBlank(name)) { errors().add(NAME, "Please provide name"); } else if (new NameTypeValidator().isNameInvalid(name)) { errors().add(NAME, NameTypeValidator.errorMessage("PackageRepository", name)); } configuration.validateUniqueness(String.format("Repository '%s'", name)); }
@Override public void validate(ValidationContext validationContext) { if (isBlank(name)) { errors().add(NAME, "Please provide name"); } else if (new NameTypeValidator().isNameInvalid(name)) { errors().add(NAME, NameTypeValidator.errorMessage("SCM", name)); } configuration.validateTree(); configuration.validateUniqueness(String.format("SCM '%s'", name)); }
@Override public void validate(ValidationContext validationContext) { validateMandatoryAttributes(); configuration.validateUniqueness(getArtifactTypeValue()); if (!new NameTypeValidator().isNameValid(id)) { errors.add("id", NameTypeValidator.errorMessage("pluggable artifact id", id)); } if (validationContext.isWithinPipelines()) { if (isNotBlank(storeId)) { final ArtifactStore artifactStore = validationContext.artifactStores().find(storeId); if (artifactStore == null) { addError("storeId", String.format("Artifact store with id `%s` does not exist. Please correct the `storeId` attribute on pipeline `%s`.", storeId, validationContext.getPipeline().name())); } } } }
@Override protected void validateAttributes(ValidationContext validationContext) { if (StringUtils.isBlank(artifactId)) { errors.add("artifactId", "Artifact Id cannot be blank."); } if (isNotBlank(artifactId) && validationContext.isWithinPipelines()) { final PathFromAncestor pipelineNamePathFromAncestor = getPipelineNamePathFromAncestor(); final PipelineConfig pipelineConfig = validationContext.getPipelineConfigByName(pipelineNamePathFromAncestor.getAncestorName()); final JobConfig jobConfig = pipelineConfig.getStage(getStage()).jobConfigByConfigName(getJob()); final PluggableArtifactConfig pluggableArtifactConfig = jobConfig.artifactConfigs().findByArtifactId(artifactId); if (pluggableArtifactConfig == null) { addError("artifactId", format("Pluggable artifact with id `%s` does not exist in [%s/%s/%s].", artifactId, pipelineNamePathFromAncestor.getAncestorName(), getStage(), getJob())); } } configuration.validateTree(); configuration.validateUniqueness("Fetch pluggable artifact"); }
@Test public void shouldValidateUniqueKeysAreAddedToConfiguration(){ ConfigurationProperty one = new ConfigurationProperty(new ConfigurationKey("one"), new ConfigurationValue("value1")); ConfigurationProperty duplicate1 = new ConfigurationProperty(new ConfigurationKey("ONE"), new ConfigurationValue("value2")); ConfigurationProperty duplicate2 = new ConfigurationProperty(new ConfigurationKey("ONE"), new ConfigurationValue("value3")); ConfigurationProperty two = new ConfigurationProperty(new ConfigurationKey("two"), new ConfigurationValue()); Configuration configuration = new Configuration(one, duplicate1, duplicate2, two); configuration.validateUniqueness("Entity"); assertThat(one.errors().isEmpty(), is(false)); assertThat(one.errors().getAllOn(ConfigurationProperty.CONFIGURATION_KEY).contains("Duplicate key 'ONE' found for Entity"), is(true)); assertThat(duplicate1.errors().isEmpty(), is(false)); assertThat(one.errors().getAllOn(ConfigurationProperty.CONFIGURATION_KEY).contains("Duplicate key 'ONE' found for Entity"), is(true)); assertThat(duplicate2.errors().isEmpty(), is(false)); assertThat(one.errors().getAllOn(ConfigurationProperty.CONFIGURATION_KEY).contains("Duplicate key 'ONE' found for Entity"), is(true)); assertThat(two.errors().isEmpty(), is(true)); }