org.hibernate.beanvalidation.tck.tests.integration.ee.JndiRetrievalTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of beanvalidation-tck-tests Show documentation
Show all versions of beanvalidation-tck-tests Show documentation
Jakarta Bean Validation TCK test suite
/**
* Jakarta Bean Validation TCK
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
package org.hibernate.beanvalidation.tck.tests.integration.ee;
import static org.hibernate.beanvalidation.tck.util.ConstraintViolationAssert.assertThat;
import static org.hibernate.beanvalidation.tck.util.ConstraintViolationAssert.violationOf;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.util.Set;
import javax.naming.InitialContext;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import jakarta.validation.constraints.NotNull;
import org.hibernate.beanvalidation.tck.beanvalidation.Sections;
import org.hibernate.beanvalidation.tck.tests.AbstractTCKTest;
import org.hibernate.beanvalidation.tck.util.IntegrationTest;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.test.audit.annotations.SpecAssertion;
import org.jboss.test.audit.annotations.SpecVersion;
import org.testng.annotations.Test;
/**
* @author Gunnar Morling
*/
@IntegrationTest
@SpecVersion(spec = "beanvalidation", version = "3.0.0")
public class JndiRetrievalTest extends AbstractTCKTest {
@Deployment
public static WebArchive createTestArchive() {
return webArchiveBuilder()
.withTestClass( JndiRetrievalTest.class )
.withClass( ConstantMessageInterpolator.class )
.withClass( Foo.class )
.withValidationXml( "test-validation.xml" )
.withEmptyBeansXml()
.build();
}
@Test
@SpecAssertion(section = Sections.INTEGRATION_JAKARTAEE, id = "a")
private void testDefaultValidatorFactoryCanBeRetrievedFromJndi() throws Exception {
ValidatorFactory validatorFactory = InitialContext.doLookup( "java:comp/ValidatorFactory" );
assertNotNull(
validatorFactory,
"Default validator factory should be bound to JNDI tree."
);
assertTrue(
validatorFactory.getMessageInterpolator() instanceof ConstantMessageInterpolator,
"Default validator factory bound to JNDI should be configured based on META-INF/validation.xml."
);
Set> violations = validatorFactory.getValidator()
.validate( new Foo() );
//expecting message from interpolator configured in META-INF/validation.xml
assertThat( violations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( "Invalid constraint" )
);
}
@Test
@SpecAssertion(section = Sections.INTEGRATION_JAKARTAEE, id = "a")
private void testDefaultValidatorCanBeRetrievedFromJndi() throws Exception {
Validator validator = InitialContext.doLookup( "java:comp/Validator" );
assertNotNull( validator, "Default validator should be bound to JNDI tree." );
Set> violations = validator.validate( new Foo() );
//expecting message from interpolator configured in META-INF/validation.xml
assertThat( violations ).containsOnlyViolations(
violationOf( NotNull.class ).withMessage( "Invalid constraint" )
);
}
}