[jboss-cvs] JBossAS SVN: r102961 - in trunk/testsuite: src/main/org/jboss/test/web and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 25 11:24:58 EDT 2010
Author: wolfc
Date: 2010-03-25 11:24:58 -0400 (Thu, 25 Mar 2010)
New Revision: 102961
Added:
trunk/testsuite/src/main/org/jboss/test/web/naming/
trunk/testsuite/src/main/org/jboss/test/web/naming/NamingServlet.java
trunk/testsuite/src/main/org/jboss/test/web/test/NamingServletUnitTestCase.java
Modified:
trunk/testsuite/imports/sections/web.xml
Log:
JBAS-7862: unit test
Modified: trunk/testsuite/imports/sections/web.xml
===================================================================
--- trunk/testsuite/imports/sections/web.xml 2010-03-25 15:20:04 UTC (rev 102960)
+++ trunk/testsuite/imports/sections/web.xml 2010-03-25 15:24:58 UTC (rev 102961)
@@ -1,6 +1,14 @@
<project name="tests-web-jars">
+ <target name="naming.war" depends="compile">
+ <jar destfile="${build.lib}/naming.war">
+ <zipfileset dir="${build.classes}" prefix="WEB-INF/classes" includes="org/jboss/test/web/naming/**.class"/>
+ </jar>
+ </target>
+
<!-- web test -->
- <target name="_jars-web">
+ <target name="_jars-web" depends="
+ naming.war
+ ">
<mkdir dir="${build.lib}"/>
<!-- The mcaware.war -->
Added: trunk/testsuite/src/main/org/jboss/test/web/naming/NamingServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/web/naming/NamingServlet.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/web/naming/NamingServlet.java 2010-03-25 15:24:58 UTC (rev 102961)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2010, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.web.naming;
+
+import org.jboss.logging.Logger;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+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;
+import java.io.PrintWriter;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+ at WebServlet("/servlet")
+public class NamingServlet extends HttpServlet
+{
+ private static final Logger log = Logger.getLogger(NamingServlet.class);
+
+ private InitialContext ctx;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ {
+ String name = req.getParameter("name");
+ if(name == null)
+ {
+ resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ print(resp, "name is unspecified");
+ return;
+ }
+
+ try
+ {
+ String value = String.valueOf(ctx.lookup(name));
+ print(resp, value);
+ }
+ catch(NamingException e)
+ {
+ log.warn("Failed to lookup " + name, e);
+ resp.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ print(resp, e.getMessage());
+ }
+ }
+
+ @Override
+ public void init() throws ServletException
+ {
+ super.init();
+
+ try
+ {
+ this.ctx = new InitialContext();
+ }
+ catch(NamingException e)
+ {
+ throw new ServletException(e);
+ }
+ }
+
+ protected static void print(HttpServletResponse resp, String s) throws IOException
+ {
+ resp.setContentType("text/plain");
+ PrintWriter out = resp.getWriter();
+ out.print(s);
+ }
+}
Property changes on: trunk/testsuite/src/main/org/jboss/test/web/naming/NamingServlet.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/testsuite/src/main/org/jboss/test/web/test/NamingServletUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/web/test/NamingServletUnitTestCase.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/web/test/NamingServletUnitTestCase.java 2010-03-25 15:24:58 UTC (rev 102961)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2010, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.web.test;
+
+import junit.framework.Test;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpMethodBase;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.jboss.test.JBossTestCase;
+import org.jboss.test.util.web.HttpUtils;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class NamingServletUnitTestCase extends JBossTestCase
+{
+ private final HttpClient client = new HttpClient();
+
+ public NamingServletUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ protected String get(String spec) throws IOException
+ {
+ HttpMethodBase request = new GetMethod(HttpUtils.getBaseURL() + spec);
+ client.executeMethod(request);
+
+ String responseBody = request.getResponseBodyAsString();
+ request.releaseConnection();
+ return responseBody;
+ }
+
+ public static Test suite() throws Exception
+ {
+ return getDeploySetup(NamingServletUnitTestCase.class, "naming.war");
+ }
+
+ /**
+ * Servlet 3.0 15.2.3
+ */
+ public void testAppContextRoot() throws Exception
+ {
+ // since this is a standalone deployment, the module functions as an app (EE.5.2.2)
+ String result = get("/naming/servlet?name=java:app/naming!ROOT");
+ fail("FIXME: don't know what to expect " + result);
+ }
+
+ /**
+ * Servlet 3.0 15.2.3
+ */
+ public void testGlobalContextRoot() throws Exception
+ {
+ // since this is a standalone deployment, no app-name is needed
+ String result = get("/naming/servlet?name=java:global/naming!ROOT");
+ fail("FIXME: don't know what to expect " + result);
+ }
+
+ /**
+ * JavaEE 6 EE.5.15
+ */
+ public void testModuleName() throws Exception
+ {
+ String result = get("/naming/servlet?name=java:module/ModuleName");
+ assertEquals("naming", result);
+ }
+
+ /**
+ * JavaEE 6 EE.5.2.2
+ * In a web module, java:comp refers to the same namespace as java:module.
+ */
+ public void testModuleNameViaComp() throws Exception
+ {
+ // given the above knowledge we could also do this
+ String result = get("/naming/servlet?name=java:comp/ModuleName");
+ assertEquals("naming", result);
+ }
+}
Property changes on: trunk/testsuite/src/main/org/jboss/test/web/test/NamingServletUnitTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
More information about the jboss-cvs-commits
mailing list