From: <fg...@us...> - 2010-01-17 17:29:52
|
Revision: 1657 http://openutils.svn.sourceforge.net/openutils/?rev=1657&view=rev Author: fgiust Date: 2010-01-17 17:29:45 +0000 (Sun, 17 Jan 2010) Log Message: ----------- base test classes, upgrade to httpunit 1.7 Modified Paths: -------------- trunk/openutils-testing4web/pom.xml Added Paths: ----------- trunk/openutils-testing4web/src/main/java/net/ trunk/openutils-testing4web/src/main/java/net/sourceforge/ trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/ trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/ trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspEmbeddedTest.java trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspTestngEmbeddedTest.java trunk/openutils-testing4web/src/test/ trunk/openutils-testing4web/src/test/java/ trunk/openutils-testing4web/src/test/java/net/ trunk/openutils-testing4web/src/test/java/net/sourceforge/ trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/ trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/ trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/SampleServletUnitTest.java trunk/openutils-testing4web/src/test/resources/ trunk/openutils-testing4web/src/test/resources/WEB-INF/ trunk/openutils-testing4web/src/test/resources/WEB-INF/web.xml trunk/openutils-testing4web/src/test/resources/jsps/ trunk/openutils-testing4web/src/test/resources/jsps/simple.jsp trunk/openutils-testing4web/src/test/resources/log4j.dtd trunk/openutils-testing4web/src/test/resources/log4j.xml Property Changed: ---------------- trunk/openutils-testing4web/ Property changes on: trunk/openutils-testing4web ___________________________________________________________________ Modified: svn:ignore - .settings target .checkstyle .classpath .project + .settings target .checkstyle .classpath .project temp-testng-customsuite.xml Modified: trunk/openutils-testing4web/pom.xml =================================================================== --- trunk/openutils-testing4web/pom.xml 2010-01-17 15:45:08 UTC (rev 1656) +++ trunk/openutils-testing4web/pom.xml 2010-01-17 17:29:45 UTC (rev 1657) @@ -4,7 +4,7 @@ <parent> <groupId>net.sourceforge.openutils</groupId> <artifactId>openutils-parent</artifactId> - <version>1.0</version> + <version>1.1</version> </parent> <artifactId>openutils-testing4web</artifactId> <name>openutils web test utils</name> @@ -14,7 +14,7 @@ <dependency> <groupId>httpunit</groupId> <artifactId>httpunit</artifactId> - <version>1.6.2</version> + <version>1.7</version> <exclusions> <exclusion> <groupId>xerces</groupId> @@ -124,5 +124,43 @@ <artifactId>js</artifactId> <version>1.7R1</version> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.4</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>jsp-api</artifactId> + <version>2.0</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.7</version> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <classifier>jdk15</classifier> + <version>5.7</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.5.6</version> + <scope>test</scope> + </dependency> </dependencies> </project> \ No newline at end of file Added: trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspEmbeddedTest.java =================================================================== --- trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspEmbeddedTest.java (rev 0) +++ trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspEmbeddedTest.java 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,75 @@ +package net.sourceforge.openutils.testing4web; + +import java.io.File; +import java.net.URL; +import java.net.URLDecoder; +import java.util.Hashtable; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.meterware.httpunit.HttpUnitOptions; +import com.meterware.servletunit.ServletRunner; + + +/** + * Base TestCase class for jsp tests. + * @author fgiust + */ +public abstract class BaseJspEmbeddedTest +{ + + /** + * Logger. + */ + protected Logger log = LoggerFactory.getLogger(getClass()); + + /** + * HttpUnit ServletRunner. + */ + protected ServletRunner runner; + + protected String getContext() + { + return "/context"; + } + + protected String getJspUrl(String jsp) + { + return "http://localhost" + getContext() + "/jsps/" + jsp; + } + + /** + * @see junit.framework.TestCase#setUp() + */ + public void setUp() throws Exception + { + // need to pass a web.xml file to setup servletunit working directory + ClassLoader classLoader = getClass().getClassLoader(); + URL webXmlUrl = classLoader.getResource("WEB-INF/web.xml"); + String path = URLDecoder.decode(webXmlUrl.getFile(), "UTF-8"); + + HttpUnitOptions.setDefaultCharacterSet("utf-8"); + System.setProperty("file.encoding", "utf-8"); + + // start servletRunner + runner = new ServletRunner(new File(path), getContext()); + + Hashtable<String, String> params = new Hashtable<String, String>(); + params.put("javaEncoding", "utf-8"); + runner.registerServlet("*.jsp", "org.apache.jasper.servlet.JspServlet", params); + + log.debug("ServletRunner setup OK"); + + } + + /** + * @see junit.framework.TestCase#tearDown() + */ + public void tearDown() throws Exception + { + // shutdown servlet engine + runner.shutDown(); + } + +} \ No newline at end of file Property changes on: trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspEmbeddedTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspTestngEmbeddedTest.java =================================================================== --- trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspTestngEmbeddedTest.java (rev 0) +++ trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspTestngEmbeddedTest.java 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,34 @@ +package net.sourceforge.openutils.testing4web; + +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; + + +/** + * @author fgiust + * @version $Id$ + */ +public abstract class BaseJspTestngEmbeddedTest extends BaseJspEmbeddedTest +{ + + /** + * {@inheritDoc} + */ + @Override + @BeforeClass + public void setUp() throws Exception + { + super.setUp(); + } + + /** + * {@inheritDoc} + */ + @Override + @AfterClass + public void tearDown() throws Exception + { + super.tearDown(); + } + +} Property changes on: trunk/openutils-testing4web/src/main/java/net/sourceforge/openutils/testing4web/BaseJspTestngEmbeddedTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/SampleServletUnitTest.java =================================================================== --- trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/SampleServletUnitTest.java (rev 0) +++ trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/SampleServletUnitTest.java 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,27 @@ +package net.sourceforge.openutils.testing4web; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.meterware.httpunit.GetMethodWebRequest; +import com.meterware.httpunit.WebRequest; +import com.meterware.httpunit.WebResponse; + + +/** + * @author fgiust + * @version $Id$ + */ +public class SampleServletUnitTest extends BaseJspTestngEmbeddedTest +{ + + @Test + public void capitaliseAllWordsTest() throws Exception + { + WebRequest request = new GetMethodWebRequest(getJspUrl("simple.jsp")); + WebResponse response = runner.getResponse(request); + + String responseText = response.getText(); + Assert.assertEquals(responseText, "jsp output"); + } +} Property changes on: trunk/openutils-testing4web/src/test/java/net/sourceforge/openutils/testing4web/SampleServletUnitTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/test/resources/WEB-INF/web.xml =================================================================== --- trunk/openutils-testing4web/src/test/resources/WEB-INF/web.xml (rev 0) +++ trunk/openutils-testing4web/src/test/resources/WEB-INF/web.xml 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,12 @@ +<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> + <description>Base web.xml for tests</description> + <mime-mapping> + <extension>jsp</extension> + <mime-type>text/html</mime-type> + </mime-mapping> + <taglib> + <taglib-uri>http://openutils.sf.net/openutils-stringutils</taglib-uri> + <taglib-location>/../classes/META-INF/stringutils.tld</taglib-location> + </taglib> +</web-app> \ No newline at end of file Property changes on: trunk/openutils-testing4web/src/test/resources/WEB-INF/web.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/test/resources/jsps/simple.jsp =================================================================== --- trunk/openutils-testing4web/src/test/resources/jsps/simple.jsp (rev 0) +++ trunk/openutils-testing4web/src/test/resources/jsps/simple.jsp 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,3 @@ +<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page"> + <jsp:text>jsp output</jsp:text> +</jsp:root> \ No newline at end of file Property changes on: trunk/openutils-testing4web/src/test/resources/jsps/simple.jsp ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/test/resources/log4j.dtd =================================================================== --- trunk/openutils-testing4web/src/test/resources/log4j.dtd (rev 0) +++ trunk/openutils-testing4web/src/test/resources/log4j.dtd 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- Authors: Chris Taylor, Ceki Gulcu. --> + +<!-- Version: 1.2 --> + +<!-- A configuration element consists of optional renderer +elements,appender elements, categories and an optional root +element. --> + +<!ELEMENT log4j:configuration (renderer*, appender*,(category|logger)*,root?, + categoryFactory?)> + +<!-- The "threshold" attribute takes a level value such that all --> +<!-- logging statements with a level equal or below this value are --> +<!-- disabled. --> + +<!-- Setting the "debug" enable the printing of internal log4j logging --> +<!-- statements. --> + +<!-- By default, debug attribute is "null", meaning that we not do touch --> +<!-- internal log4j logging settings. The "null" value for the threshold --> +<!-- attribute can be misleading. The threshold field of a repository --> +<!-- cannot be set to null. The "null" value for the threshold attribute --> +<!-- simply means don't touch the threshold field, the threshold field --> +<!-- keeps its old value. --> + +<!ATTLIST log4j:configuration + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + threshold (all|debug|info|warn|error|fatal|off|null) "null" + debug (true|false|null) "null" +> + +<!-- renderer elements allow the user to customize the conversion of --> +<!-- message objects to String. --> + +<!ELEMENT renderer EMPTY> +<!ATTLIST renderer + renderedClass CDATA #REQUIRED + renderingClass CDATA #REQUIRED +> + +<!-- Appenders must have a name and a class. --> +<!-- Appenders may contain an error handler, a layout, optional parameters --> +<!-- and filters. They may also reference (or include) other appenders. --> +<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)> +<!ATTLIST appender + name ID #REQUIRED + class CDATA #REQUIRED +> + +<!ELEMENT layout (param*)> +<!ATTLIST layout + class CDATA #REQUIRED +> + +<!ELEMENT filter (param*)> +<!ATTLIST filter + class CDATA #REQUIRED +> + +<!-- ErrorHandlers can be of any class. They can admit any number of --> +<!-- parameters. --> + +<!ELEMENT errorHandler (param*, root-ref?, logger-ref*, appender-ref?)> +<!ATTLIST errorHandler + class CDATA #REQUIRED +> + +<!ELEMENT root-ref EMPTY> + +<!ELEMENT logger-ref EMPTY> +<!ATTLIST logger-ref + ref IDREF #REQUIRED +> + +<!ELEMENT param EMPTY> +<!ATTLIST param + name CDATA #REQUIRED + value CDATA #REQUIRED +> + + +<!-- The priority class is org.apache.log4j.Level by default --> +<!ELEMENT priority (param*)> +<!ATTLIST priority + class CDATA #IMPLIED + value CDATA #REQUIRED +> + +<!-- The level class is org.apache.log4j.Level by default --> +<!ELEMENT level (param*)> +<!ATTLIST level + class CDATA #IMPLIED + value CDATA #REQUIRED +> + + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named category. --> +<!ELEMENT category (param*,(priority|level)?,appender-ref*)> +<!ATTLIST category + class CDATA #IMPLIED + name CDATA #REQUIRED + additivity (true|false) "true" +> + +<!-- If no level element is specified, then the configurator MUST not --> +<!-- touch the level of the named logger. --> +<!ELEMENT logger (level?,appender-ref*)> +<!ATTLIST logger + name ID #REQUIRED + additivity (true|false) "true" +> + + +<!ELEMENT categoryFactory (param*)> +<!ATTLIST categoryFactory + class CDATA #REQUIRED> + +<!ELEMENT appender-ref EMPTY> +<!ATTLIST appender-ref + ref IDREF #REQUIRED +> + +<!-- If no priority element is specified, then the configurator MUST not --> +<!-- touch the priority of root. --> +<!-- The root category always exists and cannot be subclassed. --> +<!ELEMENT root (param*, (priority|level)?, appender-ref*)> + + +<!-- ==================================================================== --> +<!-- A logging event --> +<!-- ==================================================================== --> +<!ELEMENT log4j:eventSet (log4j:event*)> +<!ATTLIST log4j:eventSet + xmlns:log4j CDATA #FIXED "http://jakarta.apache.org/log4j/" + version (1.1|1.2) "1.2" + includesLocationInfo (true|false) "true" +> + + + +<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, + log4j:locationInfo?) > + +<!-- The timestamp format is application dependent. --> +<!ATTLIST log4j:event + logger CDATA #REQUIRED + level CDATA #REQUIRED + thread CDATA #REQUIRED + timestamp CDATA #REQUIRED +> + +<!ELEMENT log4j:message (#PCDATA)> +<!ELEMENT log4j:NDC (#PCDATA)> + +<!ELEMENT log4j:throwable (#PCDATA)> + +<!ELEMENT log4j:locationInfo EMPTY> +<!ATTLIST log4j:locationInfo + class CDATA #REQUIRED + method CDATA #REQUIRED + file CDATA #REQUIRED + line CDATA #REQUIRED +> Property changes on: trunk/openutils-testing4web/src/test/resources/log4j.dtd ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:eol-style + native Added: trunk/openutils-testing4web/src/test/resources/log4j.xml =================================================================== --- trunk/openutils-testing4web/src/test/resources/log4j.xml (rev 0) +++ trunk/openutils-testing4web/src/test/resources/log4j.xml 2010-01-17 17:29:45 UTC (rev 1657) @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> +<log4j:configuration> + <!-- log4j test configuration --> + <appender name="test-appender" class="org.apache.log4j.ConsoleAppender"> + <layout class="org.apache.log4j.PatternLayout"> + <param name="ConversionPattern" value="%-5p %c.%M(%C{1}.java:%L) %m%n" /> + </layout> + </appender> + <category name="org"> + <priority value="WARN" /> + </category> + <category name="com"> + <priority value="WARN" /> + </category> + <category name="net"> + <priority value="WARN" /> + </category> + <category name="info"> + <priority value="WARN" /> + </category> + <category name="it"> + <priority value="WARN" /> + </category> + <root> + <priority value="debug" /> + <appender-ref ref="test-appender" /> + </root> +</log4j:configuration> \ No newline at end of file Property changes on: trunk/openutils-testing4web/src/test/resources/log4j.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |