PageRenderTime 42ms CodeModel.GetById 21ms app.highlight 17ms RepoModel.GetById 2ms app.codeStats 0ms

/testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/beanvalidation/hibernate/validator/MessageInterpolationValidationTestCase.java

https://bitbucket.org/cprenzberg/wildfly
Java | 75 lines | 51 code | 16 blank | 8 comment | 0 complexity | 554b5ad745b4b49ec2f291fedc0627eb MD5 | raw file
 1package org.jboss.as.test.integration.beanvalidation.hibernate.validator;
 2
 3import static java.lang.annotation.ElementType.FIELD;
 4
 5import java.util.Set;
 6
 7import javax.validation.ConstraintViolation;
 8import javax.validation.MessageInterpolator;
 9import javax.validation.Validation;
10import javax.validation.Validator;
11import javax.validation.ValidatorFactory;
12
13import org.junit.Assert;
14
15import org.hibernate.validator.HibernateValidator;
16import org.hibernate.validator.HibernateValidatorConfiguration;
17import org.hibernate.validator.cfg.ConstraintMapping;
18import org.hibernate.validator.cfg.defs.EmailDef;
19import org.hibernate.validator.messageinterpolation.ValueFormatterMessageInterpolator;
20import org.jboss.arquillian.container.test.api.Deployment;
21import org.jboss.arquillian.junit.Arquillian;
22import org.jboss.shrinkwrap.api.Archive;
23import org.jboss.shrinkwrap.api.ShrinkWrap;
24import org.jboss.shrinkwrap.api.spec.WebArchive;
25import org.junit.Test;
26import org.junit.runner.RunWith;
27
28/**
29 * 
30 * Tests that message interpolation works correctly for hibernate validator
31 * 
32 * 
33 * @author Madhumita Sadhukhan
34 */
35@RunWith(Arquillian.class)
36public class MessageInterpolationValidationTestCase {
37
38    @Deployment
39    public static Archive<?> deploy() {
40        final WebArchive war = ShrinkWrap.create(WebArchive.class, "testmessageinterpolationvalidation.war");
41        war.addPackage(MessageInterpolationValidationTestCase.class.getPackage());
42        return war;
43
44    }
45
46    @Test
47    public void testCustomMessageInterpolation() {
48
49        HibernateValidatorConfiguration configuration = Validation.byProvider(HibernateValidator.class).configure();
50        Assert.assertNotNull(configuration);
51        ConstraintMapping mapping = new ConstraintMapping();
52        mapping.type(Employee.class).property("firstName", FIELD)
53                .constraint(new EmailDef().message("Invalid Email!You have entered:--\\{${validatedValue}\\}"));
54
55        final MessageInterpolator messageInterpolator = new ValueFormatterMessageInterpolator();
56        configuration.messageInterpolator(messageInterpolator);
57        configuration.addMapping(mapping);
58
59        ValidatorFactory factory = configuration.buildValidatorFactory();
60        Validator validator = factory.getValidator();
61
62        Employee emp = new Employee();
63        // create employee
64        emp.setEmpId("M1234");
65        emp.setFirstName("MADHUMITA");
66        String email = "MADHUMITA";
67
68        Set<ConstraintViolation<Employee>> constraintViolations = validator.validate(emp);
69
70        Assert.assertEquals("Wrong number of constraints", constraintViolations.size(), 1);
71        Assert.assertEquals("Invalid Email!You have entered:--{" + email + "}", constraintViolations.iterator().next()
72                .getMessage());
73
74    }
75}