@Test @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CASCADABLEDESCRIPTOR, id = "b") public void testGetGroupConversionsReturnsEmptySet() { PropertyDescriptor descriptor = getPropertyDescriptor( Customer.class, "firstName" ); Set<GroupConversionDescriptor> groupConversions = descriptor.getGroupConversions(); assertNotNull( groupConversions ); assertTrue( groupConversions.isEmpty() ); }
@Test @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_GROUPCONVERSIONS, id = "a") @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_GROUPCONVERSIONS, id = "b") public void testGroupConversionsAppliedOnField() throws Exception { PropertyDescriptor propertyDescriptor = TestUtil.getPropertyDescriptor( Groups.class, "foo" ); assertNotNull( propertyDescriptor, "the specified property should be configured in xml" ); Set<GroupConversionDescriptor> groupConversionDescriptors = propertyDescriptor.getGroupConversions(); assertTrue( groupConversionDescriptors.size() == 2 ); }
@Test @SpecAssertion(section = Sections.CONSTRAINTDECLARATIONVALIDATIONPROCESS_GROUPSEQUENCE_GROUPCONVERSION, id = "d") public void testConvertGroupDefaultFromForProperty() { PropertyDescriptor descriptor = getPropertyDescriptor( BeanHolder.class, "property" ); Set<GroupConversionDescriptor> groupConversionDescriptors = descriptor.getGroupConversions(); GroupConversionDescriptor groupConversionDescriptor = getGroupConversionDescriptorByFrom( groupConversionDescriptors, Default.class ); assertEquals( groupConversionDescriptor.getTo(), ComplexChecks.class ); }
@Test(expectedExceptions = ConstraintDeclarationException.class) @SpecAssertions({ @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_FIELDLEVELOVERRIDING, id = "f") }) public void testGroupConversionsAreAdditiveAndExceptionIsThrownForMultipleConversionWithSameSource() { Validator validator = TestUtil.getValidatorUnderTest(); BeanDescriptor beanDescriptor = validator.getConstraintsForClass( User.class ); PropertyDescriptor propDescriptor = beanDescriptor.getConstraintsForProperty( "firstCreditCard" ); propDescriptor.getGroupConversions(); } }
@Test(expectedExceptions = ConstraintDeclarationException.class) @SpecAssertions({ @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_PROPERTYLEVELOVERRIDING, id = "f") }) public void testGroupConversionsAreAdditiveAndExceptionIsThrownForMultipleConversionWithSameSource() { Validator validator = TestUtil.getValidatorUnderTest(); BeanDescriptor beanDescriptor = validator.getConstraintsForClass( User.class ); PropertyDescriptor propDescriptor = beanDescriptor.getConstraintsForProperty( "firstCreditCard" ); propDescriptor.getGroupConversions(); } }
@Test @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CASCADABLEDESCRIPTOR, id = "b") @SpecAssertion(section = Sections.CONSTRAINTMETADATA_GROUPCONVERSIONDESCRIPTOR, id = "a") @SpecAssertion(section = Sections.CONSTRAINTMETADATA_GROUPCONVERSIONDESCRIPTOR, id = "b") public void testGetGroupConversionsForField() { PropertyDescriptor descriptor = getPropertyDescriptor( Customer.class, "orderList" ); Set<GroupConversionDescriptor> groupConversions = descriptor.getGroupConversions(); assertEquals( groupConversions.size(), 2 ); for ( GroupConversionDescriptor groupConversionDescriptor : groupConversions ) { if ( groupConversionDescriptor.getFrom().equals( Default.class ) ) { assertEquals( groupConversionDescriptor.getTo(), BasicChecks.class ); } else if ( groupConversionDescriptor.getFrom().equals( StrictCustomerChecks.class ) ) { assertEquals( groupConversionDescriptor.getTo(), StrictChecks.class ); } else { fail( String.format( "Encountered unexpected group conversion from %s to %s", groupConversionDescriptor.getFrom().getName(), groupConversionDescriptor.getTo().getName() ) ); } } }
@Test @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_GROUPCONVERSIONS, id = "a") @SpecAssertion(section = Sections.XML_MAPPING_CONSTRAINTDECLARATIONINXML_GROUPCONVERSIONS, id = "b") @SpecAssertion(section = Sections.CONSTRAINTDECLARATIONVALIDATIONPROCESS_GROUPSEQUENCE_GROUPCONVERSION, id = "d") public void testGroupConversionsAppliedOnGetter() throws Exception { PropertyDescriptor propertyDescriptor = TestUtil.getPropertyDescriptor( Groups.class, "snafu" ); assertNotNull( propertyDescriptor, "the specified property should be configured in xml" ); Set<GroupConversionDescriptor> groupConversionDescriptors = propertyDescriptor.getGroupConversions(); assertTrue( groupConversionDescriptors.size() == 3 ); GroupConversionDescriptor groupConversionDescriptor = getGroupConversionDescriptorByFrom( groupConversionDescriptors, Default.class ); assertEquals( groupConversionDescriptor.getTo(), ConvertA.class ); groupConversionDescriptor = getGroupConversionDescriptorByFrom( groupConversionDescriptors, ConvertA.class ); assertEquals( groupConversionDescriptor.getTo(), ConvertB.class ); groupConversionDescriptor = getGroupConversionDescriptorByFrom( groupConversionDescriptors, ConvertB.class ); assertEquals( groupConversionDescriptor.getTo(), ConvertC.class ); }
@Test @SpecAssertions({ @SpecAssertion(section = Sections.CONSTRAINTMETADATA_CASCADABLEDESCRIPTOR, id = "b"), @SpecAssertion(section = Sections.CONSTRAINTMETADATA_GROUPCONVERSIONDESCRIPTOR, id = "a"), @SpecAssertion(section = Sections.CONSTRAINTMETADATA_GROUPCONVERSIONDESCRIPTOR, id = "b") }) public void testGetGroupConversionsForProperty() { PropertyDescriptor descriptor = getPropertyDescriptor( Customer.class, "account" ); Set<GroupConversionDescriptor> groupConversions = descriptor.getGroupConversions(); assertEquals( groupConversions.size(), 2 ); for ( GroupConversionDescriptor groupConversionDescriptor : groupConversions ) { if ( groupConversionDescriptor.getFrom().equals( Default.class ) ) { assertEquals( groupConversionDescriptor.getTo(), BasicChecks.class ); } else if ( groupConversionDescriptor.getFrom().equals( StrictCustomerChecks.class ) ) { assertEquals( groupConversionDescriptor.getTo(), StrictChecks.class ); } else { fail( String.format( "Encountered unexpected group conversion from %s to %s", groupConversionDescriptor.getFrom().getName(), groupConversionDescriptor.getTo().getName() ) ); } } }
assertNotNull( propDescriptor ); assertTrue( propDescriptor.isCascaded(), "Cascaded validation is configured via xml." ); Set<GroupConversionDescriptor> groupConversionDescriptorSet = propDescriptor.getGroupConversions();
assertNotNull( propDescriptor ); assertTrue( propDescriptor.isCascaded(), "Cascaded validation is configured via xml." ); Set<GroupConversionDescriptor> groupConversionDescriptorSet = propDescriptor.getGroupConversions();