Search in sources :

Example 11 with Size

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)));
}
Also used : ConstraintMapping(org.hibernate.validator.cfg.ConstraintMapping) ExecutableValidator(jakarta.validation.executable.ExecutableValidator) Size(jakarta.validation.constraints.Size) ConstraintViolation(jakarta.validation.ConstraintViolation) SizeDef(org.hibernate.validator.cfg.defs.SizeDef) Test(org.testng.annotations.Test)

Example 12 with Size

use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.

the class ConstructorConstraintMappingTest method testMultipleParameterConstraintsAtSameParameter.

@Test
public void testMultipleParameterConstraintsAtSameParameter() throws Exception {
    ConstraintMapping mapping = config.createConstraintMapping();
    mapping.type(GreetingService.class).constructor(String.class).parameter(0).constraint(new SizeDef().min(1).max(10)).constraint(new SizeDef().min(2).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)), violationOf(Size.class).withMessage("size must be between 2 and 10").withPropertyPath(pathWith().constructor(GreetingService.class).parameter("message", 0)));
}
Also used : ConstraintMapping(org.hibernate.validator.cfg.ConstraintMapping) ExecutableValidator(jakarta.validation.executable.ExecutableValidator) Size(jakarta.validation.constraints.Size) ConstraintViolation(jakarta.validation.ConstraintViolation) SizeDef(org.hibernate.validator.cfg.defs.SizeDef) Test(org.testng.annotations.Test)

Example 13 with Size

use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.

the class ContainerElementTypeConstraintsForParameterXmlMappingTest method canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayTypeParameterWithXmlMapping.

// HV-1428 Container element support is disabled for arrays
@Test(expectedExceptions = ValidationException.class, expectedExceptionsMessageRegExp = "HV000226:.*")
@TestForIssue(jiraKey = "HV-1291")
public void canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayTypeParameterWithXmlMapping() {
    Validator validator = getValidator("parameter-canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayType-mapping.xml");
    IFishTank fishTank = ValidatorUtil.getValidatingProxy(new FishTank(), validator);
    try {
        String[][] fishNamesByMonthAsArray = new String[][] { new String[] { "Too Long" } };
        fishTank.test7(fishNamesByMonthAsArray);
        fail("Expected exception wasn't raised");
    } catch (ConstraintViolationException e) {
        assertThat(e.getConstraintViolations()).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 0 and 5"));
    }
}
Also used : Size(jakarta.validation.constraints.Size) ConstraintViolationException(jakarta.validation.ConstraintViolationException) Validator(jakarta.validation.Validator) Test(org.testng.annotations.Test) TestForIssue(org.hibernate.validator.testutil.TestForIssue)

Example 14 with Size

use of jakarta.validation.constraints.Size in project hibernate-validator by hibernate.

the class ContainerElementTypeConstraintsForReturnValueXmlMappingTest method canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayTypeReturnValueWithXmlMapping.

// HV-1428 Container element support is disabled for arrays
@Test(expectedExceptions = ValidationException.class, expectedExceptionsMessageRegExp = "HV000226:.*")
@TestForIssue(jiraKey = "HV-1291")
public void canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayTypeReturnValueWithXmlMapping() {
    Validator validator = getValidator("returnvalue-canDeclareContainerElementTypeConstraintsForMultiDimensionalArrayType-mapping.xml");
    IFishTank fishTank = ValidatorUtil.getValidatingProxy(new FishTank(), validator);
    try {
        fishTank.test7();
        fail("Expected exception wasn't raised");
    } catch (ConstraintViolationException e) {
        assertThat(e.getConstraintViolations()).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 0 and 5"));
    }
}
Also used : Size(jakarta.validation.constraints.Size) ConstraintViolationException(jakarta.validation.ConstraintViolationException) Validator(jakarta.validation.Validator) Test(org.testng.annotations.Test) TestForIssue(org.hibernate.validator.testutil.TestForIssue)

Example 15 with Size

use of jakarta.validation.constraints.Size in project beanvalidation-tck by eclipse-ee4j.

the class ContainerElementTypeConstraintsForReturnValueXmlMappingTest method canDeclareContainerElementTypeConstraintsForReturnValueWithXmlMapping.

@Test
@SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_CONTAINERELEMENTCONSTRAINTS, id = "a")
@SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_CONTAINERELEMENTCONSTRAINTS, id = "b")
@SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_CONTAINERELEMENTCONSTRAINTS, id = "c")
@SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_CONTAINERELEMENTCONSTRAINTS, id = "d")
@SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_CONTAINERELEMENTCONSTRAINTS, id = "g")
public void canDeclareContainerElementTypeConstraintsForReturnValueWithXmlMapping() {
    Validator validator = getValidator("returnvalue-canDeclareContainerElementTypeConstraints-mapping.xml");
    IFishTank fishTank = TestUtil.getValidatingProxy(new FishTank(), validator);
    try {
        fishTank.test1();
        fail("Expected exception wasn't raised");
    } catch (ConstraintViolationException e) {
        assertThat(e.getConstraintViolations()).containsOnlyViolations(violationOf(Size.class).withMessage("size must be between 3 and 10"), violationOf(Size.class).withMessage("size must be between 3 and 10"), violationOf(Min.class).withMessage("must be greater than or equal to 1"), violationOf(Min.class).withMessage("must be greater than or equal to 1"));
    }
}
Also used : Min(jakarta.validation.constraints.Min) Size(jakarta.validation.constraints.Size) ConstraintViolationException(jakarta.validation.ConstraintViolationException) Validator(jakarta.validation.Validator) AbstractTCKTest(org.hibernate.beanvalidation.tck.tests.AbstractTCKTest) Test(org.testng.annotations.Test) SpecAssertion(org.jboss.test.audit.annotations.SpecAssertion)

Aggregations

Size (jakarta.validation.constraints.Size)37 Test (org.testng.annotations.Test)27 Validator (jakarta.validation.Validator)19 ConstraintViolationException (jakarta.validation.ConstraintViolationException)18 ConstraintMapping (org.hibernate.validator.cfg.ConstraintMapping)14 TestForIssue (org.hibernate.validator.testutil.TestForIssue)14 SizeDef (org.hibernate.validator.cfg.defs.SizeDef)11 ConstraintViolation (jakarta.validation.ConstraintViolation)7 NotNull (jakarta.validation.constraints.NotNull)7 Pattern (jakarta.validation.constraints.Pattern)7 HibernateValidator (org.hibernate.validator.HibernateValidator)7 Min (jakarta.validation.constraints.Min)6 ExecutableValidator (jakarta.validation.executable.ExecutableValidator)4 ValidBase64 (com.quorum.tessera.config.constraints.ValidBase64)3 Valid (jakarta.validation.Valid)3 Max (jakarta.validation.constraints.Max)3 ArrayList (java.util.ArrayList)3 AbstractTCKTest (org.hibernate.beanvalidation.tck.tests.AbstractTCKTest)3 SpecAssertion (org.jboss.test.audit.annotations.SpecAssertion)3 com.quorum.tessera.api (com.quorum.tessera.api)2