John Myers created BVAL-149: ------------------------------- Summary: ConstraintViolation contains wrong property Key: BVAL-149 URL: https://issues.apache.org/jira/browse/BVAL-149 Project: BVal Issue Type: Bug Affects Versions: 1.1.1 Reporter: John Myers
The following test case fails with: {noformat} java.lang.AssertionError: expected [booleanFalse] but found [booleanTrue] Expected :booleanFalse Actual :booleanTrue {noformat} {code} import com.google.common.collect.Iterables; import org.apache.bval.jsr.ApacheValidationProvider; import org.testng.annotations.Test; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.constraints.AssertTrue; import static org.testng.Assert.assertEquals; public class TestValidation { private static final Validator VALIDATOR = Validation.byProvider(ApacheValidationProvider.class).configure().buildValidatorFactory().getValidator(); @Test public void testViolationIdentifiesCorrectAttribute() { TestingObject trueObject = new TestingObject(true); assertViolationMatches(trueObject, "booleanFalse", "boolean is false"); } private static void assertViolationMatches(TestingObject object, String property, String message) { ConstraintViolation<TestingObject> violation = Iterables.getOnlyElement(VALIDATOR.validate(object)); assertEquals(violation.getMessage(), message); assertEquals(violation.getPropertyPath().toString(), property); } private static class TestingObject { private final boolean bool; public TestingObject(boolean bool) { this.bool = bool; } @AssertTrue(message = "boolean is true") private boolean isBooleanTrue() { return bool; } @AssertTrue(message = "boolean is false") private boolean isBooleanFalse() { return !bool; } } } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)