package org.yajul.jta; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ArchivePaths; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.EmptyAsset; import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.yajul.jndi.*; import javax.ejb.EJB; import javax.inject.Inject; import javax.transaction.Status; import javax.transaction.SystemException; import javax.transaction.TransactionManager; import javax.transaction.UserTransaction; import org.yajul.util.Callable; import static org.junit.Assert.*; /** * Unit test for the JTA classes. * <br> * User: Josh * Date: Jan 14, 2010 * Time: 5:50:03 AM */ @RunWith(Arquillian.class) public class JtaTest { private static final Logger log = LoggerFactory.getLogger(JtaTest.class); @Inject private UserTransaction userTransaction; @EJB private JtaTestBean testBean; @Deployment public static JavaArchive createTestArchive() { return ShrinkWrap.create(JavaArchive.class, "test.jar") .addClasses(JtaTestBean.class) .addAsManifestResource( EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml") ); } @Test public void testTransactionTemplates() throws Exception { // UserTransaction is available inside EJBs in all containers. // TransactionManager is not always available. testBean.transactionTemplateCheck(); } }