use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.
the class MethodConstraintMappingTest method testGenericReturnValueConstraint.
@Test
public void testGenericReturnValueConstraint() {
ConstraintMapping mapping = config.createConstraintMapping();
mapping.type(GreetingService.class).method("greet", String.class).returnValue().constraint(new GenericConstraintDef<>(Size.class).param("min", 1).param("max", 10));
config.addMapping(mapping);
try {
GreetingService service = getValidatingProxy(wrappedObject, config.buildValidatorFactory().getValidator());
service.greet("");
fail("Expected exception wasn't thrown.");
} catch (ConstraintViolationException e) {
assertThat(e.getConstraintViolations()).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().method("greet").returnValue()));
}
}
use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.
the class MethodConstraintMappingTest method testGenericParameterConstraint.
@Test
public void testGenericParameterConstraint() {
ConstraintMapping mapping = config.createConstraintMapping();
mapping.type(GreetingService.class).method("greet", String.class).parameter(0).constraint(new GenericConstraintDef<>(Size.class).param("min", 1).param("max", 10));
config.addMapping(mapping);
try {
GreetingService service = getValidatingProxy(wrappedObject, config.buildValidatorFactory().getValidator());
service.greet("");
fail("Expected exception wasn't thrown.");
} catch (ConstraintViolationException e) {
assertThat(e.getConstraintViolations()).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().method("greet").parameter("string", 0)));
}
}
use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.
the class ConstructorConstraintMappingTest method testGenericParameterConstraint.
@Test
public void testGenericParameterConstraint() throws Exception {
ConstraintMapping mapping = config.createConstraintMapping();
mapping.type(GreetingService.class).constructor(String.class).parameter(0).constraint(new GenericConstraintDef<>(Size.class).param("min", 1).param("max", 10));
config.addMapping(mapping);
Constructor<GreetingService> constructor = GreetingService.class.getConstructor(String.class);
Object[] parameterValues = new Object[] { "" };
ExecutableValidator executableValidator = getConfiguredExecutableValidator();
Set<ConstraintViolation<GreetingService>> violations = executableValidator.validateConstructorParameters(constructor, parameterValues);
assertThat(violations).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("message", 0)));
}
use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.
the class ConstructorConstraintMappingTest method testMultipleParameterConstraintsAtDifferentParameters.
@Test
public void testMultipleParameterConstraintsAtDifferentParameters() throws Exception {
ConstraintMapping mapping = config.createConstraintMapping();
mapping.type(GreetingService.class).constructor(String.class, String.class).parameter(0).constraint(new SizeDef().min(1).max(10)).parameter(1).constraint(new SizeDef().min(1).max(10));
config.addMapping(mapping);
Constructor<GreetingService> constructor = GreetingService.class.getConstructor(String.class, String.class);
Object[] parameterValues = new Object[] { "", "" };
ExecutableValidator executableValidator = getConfiguredExecutableValidator();
Set<ConstraintViolation<GreetingService>> violations = executableValidator.validateConstructorParameters(constructor, parameterValues);
assertThat(violations).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("message", 0)), violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("anotherMessage", 1)));
}
use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.
the class ConstructorConstraintMappingTest method testProgrammaticAndAnnotationParameterConstraintsAddUp.
@Test
public void testProgrammaticAndAnnotationParameterConstraintsAddUp() throws Exception {
ConstraintMapping mapping = config.createConstraintMapping();
mapping.type(GreetingService.class).constructor(CharSequence.class).parameter(0).constraint(new SizeDef().min(2).max(10));
config.addMapping(mapping);
Constructor<GreetingService> constructor = GreetingService.class.getConstructor(CharSequence.class);
Object[] parameterValues = new Object[] { "" };
ExecutableValidator executableValidator = getConfiguredExecutableValidator();
Set<ConstraintViolation<GreetingService>> violations = executableValidator.validateConstructorParameters(constructor, parameterValues);
assertThat(violations).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 1 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("message", 0)), violationOf(Size.class).withMessage("size must be between 2 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("message", 0)));
}
Aggregations