package net.slipp.user; import static org.junit.Assert.assertEquals; import java.util.Iterator; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import org.junit.BeforeClass; import org.junit.Test; public class UserValidatorTest { private static Validator validator; @BeforeClass public static void setUp() { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); validator = factory.getValidator(); } @Test public void userIdIsNull() { User user = new User(null, "password", "name", ""); Set<ConstraintViolation<User>> constraintViolations = validator.validate(user); assertEquals(1, constraintViolations.size()); System.out.println(constraintViolations.iterator().next() .getMessage()); } @Test public void userIdLength() throws Exception { User user = new User("us", "password", "name", ""); Set<ConstraintViolation<User>> constraintViolations = validator.validate(user); assertEquals(1, constraintViolations.size()); System.out.println(constraintViolations.iterator().next() .getMessage()); user = new User("userIduserId2", "password", "name", ""); constraintViolations = validator.validate(user); assertEquals(1, constraintViolations.size()); System.out.println(constraintViolations.iterator().next() .getMessage()); } @Test public void email() throws Exception { User user = new User("user", "password", "name", "email"); Set<ConstraintViolation<User>> constraintViolations = validator.validate(user); assertEquals(1, constraintViolations.size()); System.out.println(constraintViolations.iterator().next() .getMessage()); } @Test public void invalidUser() throws Exception { User user = new User("us", "password", "name", "email"); Set<ConstraintViolation<User>> constraintViolations = validator.validate(user); assertEquals(2, constraintViolations.size()); Iterator<ConstraintViolation<User>> violations = constraintViolations.iterator(); while (violations.hasNext()) { ConstraintViolation<User> each = violations.next(); System.out.println(each.getPropertyPath() + " : " + each.getMessage()); } } }