From c88e3d462ad4645691e415588f0dc124fb22cffa Mon Sep 17 00:00:00 2001 From: Mic <misvy@vmware.com> Date: Fri, 3 May 2013 10:36:54 +0800 Subject: [PATCH] added a JUnit test for Bean Validation --- pom.xml | 1 + .../petclinic/model/ValidatorTest-config.xml | 16 +++++++ .../petclinic/model/ValidatorTest.java | 45 +++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 src/test/java/org/springframework/samples/petclinic/model/ValidatorTest-config.xml create mode 100644 src/test/java/org/springframework/samples/petclinic/model/ValidatorTest.java diff --git a/pom.xml b/pom.xml index 233a5b6..8adfa84 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 0000000..4dd7401 --- /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 0000000..c387728 --- /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"); + } + +} -- GitLab