/* * Hibernate Validator, declare and validate application constraints * * License: Apache License, Version 2.0 * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>. */ package org.hibernate.validator.test.internal.engine.traversableresolver; import java.util.Set; import javax.validation.Configuration; import javax.validation.ConstraintViolation; import javax.validation.Validator; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; import org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver; import org.hibernate.validator.testutil.TestForIssue; import org.hibernate.validator.testutils.ValidatorUtil; import static org.testng.Assert.assertTrue; /** * See HV-305 * * @author Hardy Ferentschik */ public class JpaTraversableResolverTest { private Validator validator; @BeforeTest public void setUp() { Configuration<?> configuration = ValidatorUtil.getConfiguration(); configuration.traversableResolver( new DefaultTraversableResolver() ); validator = configuration.buildValidatorFactory().getValidator(); } @Test @TestForIssue(jiraKey = "HV-305") public void testWithBooks() { Author author = new Author(); author.books.add( new Book() ); Set<ConstraintViolation<Author>> results = validator.validate( author ); assertTrue( results.isEmpty() ); } @Test @TestForIssue(jiraKey = "HV-305") public void testWithoutBooks() { Author author = new Author(); // If the "books" collection is empty, everything works as expected. Set<ConstraintViolation<Author>> results = validator.validate( author ); assertTrue( results.isEmpty() ); } }