package org.jboss.resteasy.test.cdi.basic; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.resteasy.test.cdi.basic.resource.ApplicationInjection; import org.jboss.resteasy.utils.PermissionUtil; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import java.lang.reflect.ReflectPermission; import java.util.PropertyPermission; /** * @tpSubChapter CDI * @tpChapter Integration tests * @tpTestCaseDetails Test for injecting of Application * @tpSince RESTEasy 3.0.16 */ @RunWith(Arquillian.class) public class ApplicationInjectionTest { @Deployment public static Archive<?> createTestArchive() { WebArchive war = ShrinkWrap.create(WebArchive.class, ApplicationInjectionTest.class.getSimpleName() + ".war"); // Arquillian in the deployment war.addAsManifestResource(PermissionUtil.createPermissionsXmlAsset(new ReflectPermission("suppressAccessChecks"), new RuntimePermission("accessDeclaredMembers"), new PropertyPermission("arquillian.*", "read")), "permissions.xml"); war.addClass(ApplicationInjection.class); return war; } /** * @tpTestDetails Injected application instance should not be null. * @tpSince RESTEasy 3.0.16 */ @Test public void testAppInjection() throws Exception { Assert.assertEquals("Wrong count of initialized applications", 1, ApplicationInjection.instances.size()); ApplicationInjection app = ApplicationInjection.instances.iterator().next(); Assert.assertNotNull("Injected application instance should not be null", app.app); } }