Scott Franson created VALIDATOR-334: ---------------------------------------
Summary: UrlValidator: isValidAuthority() returning true when supplied authority validator fails Key: VALIDATOR-334 URL: https://issues.apache.org/jira/browse/VALIDATOR-334 Project: Commons Validator Issue Type: Bug Components: Routines Affects Versions: 1.4.0 Release Reporter: Scott Franson When UrlValidator is supplied an authority validator, if the authority fails the authority validator, but is an otherwise valid authority, the UrlValidator reports the URL is valid. Here is a test case: {code} @Test public void testUrlValidator() throws Exception { String regex = ".*amazon\\.com"; RegexValidator authorityValidator = new RegexValidator(regex); UrlValidator validator = new UrlValidator(authorityValidator, UrlValidator.ALLOW_ALL_SCHEMES); assertThat("amazon.com", Pattern.matches(regex, "amazon.com"), is(true)); assertThat("google.com", Pattern.matches(regex, "google.com"), is(false)); assertThat("amazon.com", authorityValidator.isValid("amazon.com"), is(true)); assertThat("google.com", authorityValidator.isValid("google.com"), is(false)); assertThat("amazon.com", validator.isValid("http://amazon.com/somepath"), is(true)); assertThat("google.com", validator.isValid("http://google.com/somepath"), is(false)); // fails } {code} It appears that UrlAuthority.isValidAuthority() will return true if the URL passes the authorityValidator (line 365). But if the URL fails the authorityValidator, it can still pass the other validation checks. Shouldn't the validation fail if the URL fails the authorityValidator, regardless if it is an otherwise valid authority? -- This message was sent by Atlassian JIRA (v6.2#6252)