You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/09/10 01:42:40 UTC

svn commit: r1167402 - /openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java

Author: dblevins
Date: Fri Sep  9 23:42:40 2011
New Revision: 1167402

URL: http://svn.apache.org/viewvc?rev=1167402&view=rev
Log:
Quick prototype of possible easier testing

Modified:
    openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java

Modified: openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java?rev=1167402&r1=1167401&r2=1167402&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java (original)
+++ openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/ServletPersistenceInjectionTest.java Fri Sep  9 23:42:40 2011
@@ -16,21 +16,24 @@
  */
 package org.apache.openejb.arquillian;
 
-import org.apache.commons.lang.StringUtils;
 import org.jboss.arquillian.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.asset.StringAsset;
 import org.jboss.shrinkwrap.api.spec.WebArchive;
 import org.jboss.shrinkwrap.descriptor.api.Descriptors;
 import org.jboss.shrinkwrap.descriptor.api.spec.servlet.web.WebAppDescriptor;
+import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import javax.annotation.Resource;
-import javax.persistence.*;
+import javax.persistence.Entity;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -39,6 +42,8 @@ import javax.transaction.UserTransaction
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
 import java.net.URL;
 
 import static junit.framework.Assert.assertNotNull;
@@ -51,19 +56,19 @@ public class ServletPersistenceInjection
 
     @Test
     public void transactionInjectionShouldSucceed() throws Exception {
-        final String expectedOutput = "Transaction injection successful";
+        final String expectedOutput = "testUserTransaction=true";
         validateTest(expectedOutput);
     }
 
     @Test
     public void persistentContextInjectionShouldSucceed() throws Exception {
-        final String expectedOutput = "Transaction manager injection successful";
+        final String expectedOutput = "testEntityManager=true";
         validateTest(expectedOutput);
     }
 
     @Test
     public void persistenceUnitInjectionShouldSucceed() throws Exception {
-        final String expectedOutput = "Transaction manager factory injection successful";
+        final String expectedOutput = "testEntityManagerFactory=true";
         validateTest(expectedOutput);
     }
 
@@ -97,44 +102,52 @@ public class ServletPersistenceInjection
 
         @Override
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-            String name = req.getParameter("name");
-            if (StringUtils.isEmpty(name)) {
-                name = "OpenEJB";
-            }
+            final Class<? extends PersistenceServlet> clazz = this.getClass();
+            final Method[] methods = clazz.getMethods();
 
-            if (transaction != null) {
-                try {
-                    transaction.begin();
-                    transaction.commit();
-                    resp.getOutputStream().println("Transaction injection successful");
-                } catch (Exception ex) {
-                    ex.printStackTrace();
-                }
-            }
-            if (entityManager != null) {
-                Address a = new Address();
-                try {
-                    entityManager.contains(a);
-                    resp.getOutputStream().println("Transaction manager injection successful");
-                } catch (Exception ex) {
-                    ex.printStackTrace();
-                }
-            }
-            if (entityMgrFactory != null) {
-                Address a = new Address();
-                try {
-                    EntityManager em = entityMgrFactory.createEntityManager();
-                    em.contains(a);
-                    resp.getOutputStream().println("Transaction manager factory injection successful");
-                } catch (Exception ex) {
-                    ex.printStackTrace();
+            resp.setContentType("text/plain");
+            final PrintWriter writer = resp.getWriter();
+
+            for (Method method : methods) {
+                if (method.getName().startsWith("test")) {
+
+                    writer.print(method.getName());
+
+                    writer.print("=");
+
+                    try {
+                        method.invoke(this);
+                        writer.println("true");
+                    } catch (Throwable e) {
+                        writer.println("false");
+                    }
                 }
             }
         }
 
+        public void testEntityManagerFactory() {
+            Assert.assertNotNull(entityMgrFactory);
+
+            Address a = new Address();
+            EntityManager em = entityMgrFactory.createEntityManager();
+            em.contains(a);
+        }
+
+        public void testEntityManager() {
+            Assert.assertNotNull(entityManager);
+            Address a = new Address();
+            entityManager.contains(a);
+        }
+
+        public void testUserTransaction() throws Exception{
+            Assert.assertNotNull(transaction);
+            transaction.begin();
+            transaction.commit();
+        }
 
     }
 
+
     @Entity
     public static class Address {
         public String getStreet() {