You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/10/28 14:49:13 UTC

svn commit: r1190281 - in /openejb/trunk/arquillian-tomee/arquillian-tomee-embedded: ./ src/main/java/org/apache/openejb/arquillian/embedded/ src/test/java/org/apache/openejb/arquillian/embedded/

Author: rmannibucau
Date: Fri Oct 28 12:49:13 2011
New Revision: 1190281

URL: http://svn.apache.org/viewvc?rev=1190281&view=rev
Log:
making RunAsClient optionnal for tomee-embedded

Added:
    openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/AServlet.java
Modified:
    openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/pom.xml
    openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
    openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainerTest.java

Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/pom.xml?rev=1190281&r1=1190280&r2=1190281&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/pom.xml (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/pom.xml Fri Oct 28 12:49:13 2011
@@ -78,7 +78,6 @@
       <groupId>org.jboss.arquillian.junit</groupId>
       <artifactId>arquillian-junit-container</artifactId>
       <version>${version.arquillian}</version>
-      <scope>test</scope>
     </dependency>
 
     <dependency>
@@ -87,6 +86,13 @@
       <version>4.8.1</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.0.1</version>
+      <scope>test</scope>
+    </dependency>
+
 
     <dependency>
       <groupId>org.jboss.arquillian.testenricher</groupId>

Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1190281&r1=1190280&r2=1190281&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Fri Oct 28 12:49:13 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.arquillian.embedded;
 
+import org.apache.openejb.AppContext;
 import org.apache.openejb.arquillian.common.FileUtils;
 import org.apache.openejb.arquillian.common.TomEEConfiguration;
 import org.apache.openejb.arquillian.common.TomEEContainer;
@@ -29,13 +30,14 @@ import org.jboss.arquillian.container.sp
 import org.jboss.arquillian.container.spi.client.protocol.metadata.ProtocolMetaData;
 import org.jboss.arquillian.container.spi.client.protocol.metadata.Servlet;
 import org.jboss.arquillian.container.spi.context.annotation.ContainerScoped;
+import org.jboss.arquillian.container.spi.context.annotation.DeploymentScoped;
 import org.jboss.arquillian.core.api.InstanceProducer;
 import org.jboss.arquillian.core.api.annotation.Inject;
 import org.jboss.shrinkwrap.api.Archive;
 import org.jboss.shrinkwrap.api.exporter.ZipExporter;
 
+import javax.enterprise.inject.spi.BeanManager;
 import javax.naming.Context;
-import javax.naming.InitialContext;
 import java.io.File;
 
 public class EmbeddedTomEEContainer extends TomEEContainer {
@@ -44,6 +46,7 @@ public class EmbeddedTomEEContainer exte
     public static final String TOMEE_ARQUILLIAN_STOP_PORT = "tomee.arquillian.stop";
 
     @Inject @ContainerScoped private InstanceProducer<Context> contextInstance;
+    @Inject @DeploymentScoped private InstanceProducer<BeanManager> beanManagerInstance;
 
     private Container container;
 
@@ -101,7 +104,7 @@ public class EmbeddedTomEEContainer exte
     }
 
     public ProtocolDescription getDefaultProtocol() {
-        return new ProtocolDescription("Servlet 3.0");
+        return new ProtocolDescription("Local");
     }
     
     public ProtocolMetaData deploy(Archive<?> archive) throws DeploymentException {
@@ -113,10 +116,11 @@ public class EmbeddedTomEEContainer exte
         	archive.as(ZipExporter.class).exportTo(file, true);
 
 
-            container.deploy(name, file);
+            AppContext appContext = container.deploy(name, file);
 
             HTTPContext httpContext = new HTTPContext("0.0.0.0", configuration.getHttpPort());
             httpContext.add(new Servlet("ArquillianServletRunner", "/" + getArchiveNameWithoutExtension(archive)));
+            beanManagerInstance.set(appContext.getBeanManager());
             return new ProtocolMetaData().addContext(httpContext);
         } catch (Exception e) {
             e.printStackTrace();

Added: openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/AServlet.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/AServlet.java?rev=1190281&view=auto
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/AServlet.java (added)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/AServlet.java Fri Oct 28 12:49:13 2011
@@ -0,0 +1,18 @@
+package org.apache.openejb.arquillian.embedded;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author rmannibucau
+ */
+@WebServlet(urlPatterns = "/a-servlet")
+public class AServlet extends HttpServlet {
+    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        resp.getWriter().write("ok=true");
+    }
+}

Modified: openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainerTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainerTest.java?rev=1190281&r1=1190280&r2=1190281&view=diff
==============================================================================
--- openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainerTest.java (original)
+++ openejb/trunk/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainerTest.java Fri Oct 28 12:49:13 2011
@@ -1,7 +1,7 @@
 package org.apache.openejb.arquillian.embedded;
 
+import org.apache.commons.io.IOUtils;
 import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.container.test.api.RunAsClient;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.StringAsset;
@@ -13,19 +13,22 @@ import org.junit.runner.RunWith;
 
 import javax.ejb.EJB;
 
+import java.net.URL;
+
+import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertNotNull;
 
 /**
  * @author rmannibucau
  */
 @RunWith(Arquillian.class)
-@RunAsClient
+// @RunAsClient
 public class EmbeddedTomEEContainerTest {
     @Deployment public static WebArchive createDeployment() {
         return ShrinkWrap.create(WebArchive.class, "test.war")
-                    .addClass(AnEJB.class)
-                    .setWebXML(new StringAsset(Descriptors.create(WebAppDescriptor.class)
-                                                   .version("3.0").exportAsString()));
+            .addClass(AnEJB.class).addClass(AServlet.class)
+            .setWebXML(new StringAsset(Descriptors.create(WebAppDescriptor.class)
+                                           .version("3.0").exportAsString()));
     }
 
     @EJB private AnEJB ejb;
@@ -33,4 +36,9 @@ public class EmbeddedTomEEContainerTest 
     @Test public void testEjbIsNotNull() throws Exception {
     	assertNotNull(ejb);
     }
+
+    @Test public void servletIsDeployed() throws Exception {
+        final String read = IOUtils.toString(new URL("http://localhost:8080/test/a-servlet").openStream());
+        assertEquals("ok=true", read);
+    }
 }