package svanimpe.reminders.domain; import java.util.Set; import javax.annotation.Resource; import javax.validation.ConstraintViolation; import javax.validation.Validator; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Test; import org.junit.runner.RunWith; import svanimpe.reminders.ArchiveFactory; import svanimpe.reminders.validation.OnPasswordUpdate; import static org.junit.Assert.*; @RunWith(Arquillian.class) public class UserValidationTest { @Deployment public static WebArchive createArchive() { return ArchiveFactory.createArchive(); } @Resource private Validator validator; @Test public void testUsernameValidated() { User user = new User(); user.setUsername("inval1d"); user.setPassword("supersecret"); Set<ConstraintViolation<User>> violations = validator.validate(user); assertEquals(1, violations.size()); } @Test public void testPasswordValidated() { User user = new User(); user.setUsername("someuser"); user.setPassword("2short"); Set<ConstraintViolation<User>> violations = validator.validate(user, OnPasswordUpdate.class); assertEquals(1, violations.size()); } @Test public void testPasswordRequired() { User user = new User(); user.setUsername("someuser"); Set<ConstraintViolation<User>> violations = validator.validate(user); assertEquals(1, violations.size()); } }