diff --git a/pom.xml b/pom.xml index 233a5b6b89b79e6d96f3df8f9b1e89de5cd34124..8adfa8426b9976ef38b7cde5a316c5fbbbe39676 100644 --- a/pom.xml +++ b/pom.xml @@ -248,6 +248,7 @@ <artifactId>hibernate-validator</artifactId> <version>${hibernate-validator.version}</version> </dependency> + <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> diff --git a/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest-config.xml b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..4dd7401571907977a2cb2849fca59b9fb4541039 --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest-config.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + - DispatcherServlet application context for PetClinic's web tier. +--> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans.xsd"> + + <bean id="validatorFactory" class="javax.validation.Validation" + factory-method="buildDefaultValidatorFactory" /> + + <bean id="validator" factory-bean="validatorFactory" + factory-method="getValidator" /> + +</beans> diff --git a/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest.java b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..c3877282e82c3c30fa5f708ac35677a7234d9ed8 --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/model/ValidatorTest.java @@ -0,0 +1,45 @@ +package org.springframework.samples.petclinic.model; + +import java.util.Set; + +import javax.validation.ConstraintViolation; +import javax.validation.Validator; + + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +/** + * + * @author Michael Isvy + * Simple test to make sure that Bean Validation is working + * (useful when upgrading to a new version of Hibernate Validator/ Bean Validation) + * + */ +@ContextConfiguration(locations = {"ValidatorTest-config.xml"}) +@RunWith(SpringJUnit4ClassRunner.class) +public class ValidatorTest { + + @Autowired + private Validator validator; + + @Test + public void emptyFirstName() { + + Person person = new Person(); + person.setFirstName(""); + person.setLastName("smith"); + + Set<ConstraintViolation<Person>> constraintViolations = validator.validate(person); + + Assert.assertEquals(1, constraintViolations.size()); + ConstraintViolation<Person> violation = constraintViolations.iterator().next(); + Assert.assertEquals(violation.getPropertyPath().toString(), "firstName"); + Assert.assertEquals(violation.getMessage(), "may not be empty"); + } + +}