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/05 08:17:37 UTC
svn commit: r1165183 - in
/openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests: pom.xml
src/test/java/org/apache/tomee/tests/SimpleTest.java
src/test/resources/arquillian.xml
Author: dblevins
Date: Mon Sep 5 06:17:36 2011
New Revision: 1165183
URL: http://svn.apache.org/viewvc?rev=1165183&view=rev
Log:
A basic working test
Added:
openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/java/org/apache/tomee/tests/SimpleTest.java
- copied, changed from r1159756, openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/TomEEContainerTest.java
openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/resources/arquillian.xml
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/pom.xml
Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/pom.xml?rev=1165183&r1=1165182&r2=1165183&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/pom.xml (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/pom.xml Mon Sep 5 06:17:36 2011
@@ -31,13 +31,42 @@
<packaging>jar</packaging>
<name>OpenEJB :: Assembly :: TomEE iTests</name>
<description>This module contains tests for TomEE</description>
+
+ <properties>
+ <version.arquillian>1.0.0.Alpha5</version.arquillian>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>6.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openejb</groupId>
<artifactId>arquillian-tomee-embedded</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>net.sourceforge.htmlunit</groupId>
+ <artifactId>htmlunit</artifactId>
+ <version>2.8</version>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.arquillian</groupId>
+ <artifactId>arquillian-junit</artifactId>
+ <version>${version.arquillian}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.8.1</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Copied: openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/java/org/apache/tomee/tests/SimpleTest.java (from r1159756, openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/TomEEContainerTest.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/java/org/apache/tomee/tests/SimpleTest.java?p2=openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/java/org/apache/tomee/tests/SimpleTest.java&p1=openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/TomEEContainerTest.java&r1=1159756&r2=1165183&rev=1165183&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-embedded/src/test/java/org/apache/openejb/arquillian/TomEEContainerTest.java (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/java/org/apache/tomee/tests/SimpleTest.java Mon Sep 5 06:17:36 2011
@@ -14,40 +14,59 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.openejb.arquillian;
-
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.net.URL;
+package org.apache.tomee.tests;
import junit.framework.Assert;
-
import org.jboss.arquillian.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
-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.Test;
import org.junit.runner.RunWith;
+import javax.ejb.EJB;
+import javax.ejb.Singleton;
+import javax.servlet.ServletConfig;
+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.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.net.URL;
+
@RunWith(Arquillian.class)
-public class TomEEContainerTest {
+public class SimpleTest {
@Deployment(testable = false)
public static WebArchive createDeployment() {
- return ShrinkWrap.create(WebArchive.class, "test.war").addClass(TestServlet.class).addClass(TestEjb.class)
- .setWebXML(new StringAsset(Descriptors.create(WebAppDescriptor.class).version("3.0").servlet(TestServlet.class, "/Test").exportAsString()));
+ return ShrinkWrap.create(WebArchive.class, "test.war").addClasses(
+ OrangeServlet.class,
+ BrownBean.class
+ );
}
@Test
public void testShouldBeAbleToAccessServletAndEjb() throws Exception {
- InputStream is = new URL("http://localhost:9080/test/Test").openStream();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
+ final String output = get("http://localhost:9080/test/Test?hello");
+ Assert.assertTrue(output.contains("hello"));
+ }
+
+ private String get(String url) throws IOException {
+ return get(new URL(url));
+ }
+
+ private String get(URL url) throws IOException {
+ final InputStream is = url.openStream();
+ final ByteArrayOutputStream os = new ByteArrayOutputStream();
int bytesRead = -1;
- byte[] buffer = new byte[8192];
+
+ final byte[] buffer = new byte[8192];
+
while ((bytesRead = is.read(buffer)) > -1) {
os.write(buffer, 0, bytesRead);
}
@@ -55,8 +74,45 @@ public class TomEEContainerTest {
is.close();
os.close();
- String output = new String(os.toByteArray(), "UTF-8");
- Assert.assertTrue(output.contains("Hello, OpenEJB"));
+ return new String(os.toByteArray(), "UTF-8");
+ }
+
+ @WebServlet(urlPatterns = "/*")
+ public static class OrangeServlet extends HttpServlet {
+
+ private BrownBean brownBean;
+
+ public OrangeServlet() {
+ }
+
+ @EJB
+ public void setBrownBean(BrownBean brownBean) {
+ this.brownBean = brownBean;
+ }
+
+ @Override
+ public void init(ServletConfig config) throws ServletException {
+ assert brownBean != null;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ brownBean.doService(request, response);
+ }
+
+ @Override
+ public void destroy() {
+ }
}
+ @Singleton
+ public static class BrownBean {
+
+ public void doService(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ response.setContentType("text/plain");
+ PrintWriter writer = response.getWriter();
+ writer.print(request.getQueryString());
+ }
+
+ }
}
Added: openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/resources/arquillian.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/resources/arquillian.xml?rev=1165183&view=auto
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/resources/arquillian.xml (added)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/tomee-itests/src/test/resources/arquillian.xml Mon Sep 5 06:17:36 2011
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<arquillian
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+ <container qualifier="tomee" default="true">
+ <configuration>
+ <property name="httpPort">9080</property>
+ <property name="stopPort">9005</property>
+ </configuration>
+ </container>
+</arquillian>