public boolean validateTree(ValidationContext validationContext) { validate(validationContext); boolean isValid = errors().isEmpty(); isValid = resourceConfigs.validateTree(validationContext) && isValid; return isValid; } public void validate(ValidationContext validationContext) {
public void validate(ValidationContext validationContext) { boolean validity = validateDuplicateElasticAgentIds(); for (AgentConfig agentConfig : this) { agentConfig.validate(validationContext); validity = agentConfig.errors().isEmpty() && validity; } }
@Test public void shouldPassValidationWhenUUidIsAvailable() { AgentConfig agentConfig = new AgentConfig("uuid"); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.UUID), is(nullValue())); }
private void shouldBeValid(String ipAddress) throws Exception { AgentConfig agentConfig = new AgentConfig(); agentConfig.setIpAddress(ipAddress); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.IP_ADDRESS), is(nullValue())); } }
@Test public void shouldFailValidationIfIPAddressIsAString() throws Exception { AgentConfig agentConfig = new AgentConfig("uuid", "host", "blahinvalid"); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.IP_ADDRESS), is("'blahinvalid' is an invalid IP address.")); agentConfig = new AgentConfig("uuid", "host", "blah.invalid"); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.IP_ADDRESS), is("'blah.invalid' is an invalid IP address.")); }
@Test public void shouldFailValidationWhenUUidIsBlank() { AgentConfig agentConfig = new AgentConfig(""); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.UUID), is("UUID cannot be empty")); agentConfig = new AgentConfig(null); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.UUID), is("UUID cannot be empty")); }
@Test public void shouldInvalidateEmptyAddress() { AgentConfig agentConfig = new AgentConfig("uuid", "host", ""); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.IP_ADDRESS), is("IpAddress cannot be empty if it is present.")); }
@Test public void shouldFailValidationIfIPAddressHasAnIncorrectValue() throws Exception { AgentConfig agentConfig = new AgentConfig("uuid", "host", "399.0.0.1"); agentConfig.validate(ConfigSaveValidationContext.forChain(agentConfig)); assertThat(agentConfig.errors().on(AgentConfig.IP_ADDRESS), is("'399.0.0.1' is an invalid IP address.")); }