Add @Ignored Test case to reproduce SPR-10243
Issue: SPR-10243
This commit is contained in:
parent
0b6101478e
commit
19eecb151b
|
|
@ -35,6 +35,7 @@ import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import org.hibernate.validator.HibernateValidator;
|
import org.hibernate.validator.HibernateValidator;
|
||||||
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import org.springframework.validation.BeanPropertyBindingResult;
|
import org.springframework.validation.BeanPropertyBindingResult;
|
||||||
|
|
@ -42,6 +43,7 @@ import org.springframework.validation.Errors;
|
||||||
import org.springframework.validation.FieldError;
|
import org.springframework.validation.FieldError;
|
||||||
import org.springframework.validation.ObjectError;
|
import org.springframework.validation.ObjectError;
|
||||||
|
|
||||||
|
import static org.hamcrest.Matchers.instanceOf;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -102,6 +104,22 @@ public class ValidatorFactoryTests {
|
||||||
assertTrue(cv.getConstraintDescriptor().getAnnotation() instanceof NameAddressValid);
|
assertTrue(cv.getConstraintDescriptor().getAnnotation() instanceof NameAddressValid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Ignore
|
||||||
|
public void testSpringValidationFieldType() throws Exception {
|
||||||
|
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
|
||||||
|
validator.afterPropertiesSet();
|
||||||
|
ValidPerson person = new ValidPerson();
|
||||||
|
person.setName("Phil");
|
||||||
|
person.getAddress().setStreet("Phil's Street");
|
||||||
|
BeanPropertyBindingResult errors = new BeanPropertyBindingResult(person, "person");
|
||||||
|
validator.validate(person, errors);
|
||||||
|
assertEquals(1, errors.getErrorCount());
|
||||||
|
assertThat("Field/Value type missmatch",
|
||||||
|
errors.getFieldError("address").getRejectedValue(),
|
||||||
|
instanceOf(ValidAddress.class));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSpringValidation() throws Exception {
|
public void testSpringValidation() throws Exception {
|
||||||
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
|
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
|
||||||
|
|
@ -289,8 +307,13 @@ public class ValidatorFactoryTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isValid(ValidPerson value, ConstraintValidatorContext constraintValidatorContext) {
|
public boolean isValid(ValidPerson value, ConstraintValidatorContext context) {
|
||||||
return (value.name == null || !value.address.street.contains(value.name));
|
boolean valid = (value.name == null || !value.address.street.contains(value.name));
|
||||||
|
if (!valid && "Phil".equals(value.name)) {
|
||||||
|
context.buildConstraintViolationWithTemplate(
|
||||||
|
context.getDefaultConstraintMessageTemplate()).addNode("address").addConstraintViolation().disableDefaultConstraintViolation();
|
||||||
|
}
|
||||||
|
return valid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue