dion 02/05/05 05:22:52
Added: latka/src/webapps/latka-webapp DefaultLatkaSuite.jsp
Header.jsp ProcessTestBody.jsp ProcessTestURL.jsp
RunTest.jsp RunTestBody.jsp RunTestURL.jsp
SetProperties.jsp SetTestDir.jsp TestForm.jsp
TestMenu.jsp ToggleValidation.jsp ValidateXML.jsp
ViewSuiteLink.jsp index.jsp report.xsl
latka/src/webapps/latka-webapp/WEB-INF web.xml
latka/src/webapps/latka-webapp/WEB-INF/classes
latka.properties
latka/src/webapps/latka-webapp/self-test/basicAuth Login.jsp
latka/src/webapps/latka-webapp/self-test/cookies
SetCookie.jsp
latka/src/webapps/latka-webapp/self-test/redirect
ExternalRedirect.jsp InternalRedirect.jsp
PrintReferer.jsp RedirectTarget.jsp
latka/src/webapps/latka-webapp/self-test/snoop Cookies.jsp
RequestHeaders.jsp
latka/src/webapps/latka-webapp/self-test/xpath
TestMeWithXPath.xml
Log:
no message
Revision Changes Path
1.1
jakarta-commons/latka/src/webapps/latka-webapp/DefaultLatkaSuite.jsp
Index: DefaultLatkaSuite.jsp
===================================================================
<%@ page contentType="text/xml" %><%--
--%><?xml version="1.0"?>
<suite defaultHost="${defaultHost}" defaultPort="${defaultPort}"
label="Latka manual test">
<!-- place requests here -->
</suite>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/Header.jsp
Index: Header.jsp
===================================================================
<table width="100%">
<tr>
<td align="left"><h2>Latka</h2></td>
<td align="right" valign="top"><a href="<%= request.getContextPath()
%>">Home</a></td>
</tr>
</table>
<hr color="green">
1.1
jakarta-commons/latka/src/webapps/latka-webapp/ProcessTestBody.jsp
Index: ProcessTestBody.jsp
===================================================================
<%@ page import="java.util.Iterator" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib"
prefix="latka" %>
<latka:findVariables id="set">
<%= request.getParameter("testBody") %>
</latka:findVariables>
<%
Iterator i = set.iterator();
if (i.hasNext() == false) {
%>
<jsp:forward page="RunTestBody.jsp"/>
<% } %>
<jsp:include page="Header.jsp" flush="true"/>
<p>These variables must be set before running the test:</p>
<latka:sessionProperties id="props"/>
<form method="post" action="SetProperties.jsp">
<% while (i.hasNext()) {
String property = (String) i.next(); %>
<p>
<%= property %>:
<input type="text" name="latka.property.<%= property %>"
size="30" value="<%= props.getProperty(property, "[no default value]") %>">
</p>
<% } %>
<p><input type="submit" value="Set variables and execute test"></p>
<p>Test body:<br>
<textarea NAME="testBody" ROWS="18" COLS="70">
<%= request.getParameter("testBody") %>
</textarea>
</p>
</form>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/ProcessTestURL.jsp
Index: ProcessTestURL.jsp
===================================================================
<%@ page import="java.util.Iterator" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib"
prefix="latka" %>
<% String url = request.getParameter("url"); %>
<latka:findVariables id="set"
url="<%= url %>"/>
<% Iterator i = set.iterator();
if (i.hasNext() == false) {
%>
<jsp:forward page="RunTestURL.jsp"/>
<% } %>
<jsp:include page="Header.jsp" flush="true"/>
<p><jsp:include page="ViewSuiteLink.jsp" flush="true"/></p>
<p>These variables must be set before running the test:</p>
<latka:sessionProperties id="props"/>
<form method="post" action="SetProperties.jsp">
<input type="hidden" name="url" value="<%= url %>">
<% while (i.hasNext()) {
String property = (String) i.next(); %>
<p>
<%= property %>:
<input type="text" name="latka.property.<%= property %>"
size="30" value="<%= props.getProperty(property, "[no default value]") %>">
</p>
<% } %>
<p><input type="submit" value="Set variables and execute test"></p>
</form>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/RunTest.jsp
Index: RunTest.jsp
===================================================================
<%@ page import="java.io.File" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<jsp:include page="Header.jsp" flush="true"/>
<% if (request.getParameter("url") != null) { %>
<p><jsp:include page="ViewSuiteLink.jsp" flush="true"/></p>
<% } %>
<b>Test results:</b>
<% out.flush(); %>
<latka:sessionProperties id="props"/>
<%
// much rather use getResource(String) but Tomcat
// returns jndi urls rather than http urls
// good for tomcat, bad for XML
File styleFile = new File(request.getRealPath("report.xsl"));
String styleUrl = styleFile.toURL().toString();
String xmlValidation = props.getProperty("latka.xmlValidation", "false");
%>
<br>
<%-- execute the tests --%>
<font face="monospace">
<% if (request.getParameter("url") != null) { %>
<jsp:include page="RunTestURL.jsp" flush="true">
<jsp:param name="styleUrl" value="<%= styleUrl %>"/>
<jsp:param name="xmlValidation" value="<%= xmlValidation %>"/>
</jsp:include>
<% } else { %>
<jsp:include page="RunTestBody.jsp" flush="true">
<jsp:param name="styleUrl" value="<%= styleUrl %>"/>
<jsp:param name="xmlValidation" value="<%= xmlValidation %>"/>
</jsp:include>
<% } %>
</font>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/RunTestBody.jsp
Index: RunTestBody.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<latka:sessionProperties id="props"/>
<%
boolean xmlValidation =
Boolean.valueOf(request.getParameter("xmlValidation")).booleanValue();
String styleUrl = request.getParameter("styleUrl");
%>
<latka:executeSuite properties="props"
validate="<%= xmlValidation %>"
stylesheetUrl="<%= styleUrl %>"
failedResponses="failedResponses">
<%= request.getParameter("testBody") %>
</latka:executeSuite>
<% // store away the test for when we return to the form
props.setProperty("latka.testBody",
request.getParameter("testBody").trim());
session.setAttribute("latka.failedResponses",
pageContext.getAttribute("failedResponses")); %>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/RunTestURL.jsp
Index: RunTestURL.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<latka:sessionProperties id="props"/>
<%
boolean xmlValidation =
Boolean.valueOf(request.getParameter("xmlValidation")).booleanValue();
String styleUrl = request.getParameter("styleUrl");
String url = request.getParameter("url");
%>
<latka:executeSuite url="<%= url %>" properties="props"
validate="<%= xmlValidation %>" stylesheetUrl="<%= styleUrl %>"
failedResponses="failedResponses"/>
<% session.setAttribute("latka.failedResponses",
pageContext.getAttribute("failedResponses")); %>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/SetProperties.jsp
Index: SetProperties.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib"
prefix="latka" %>
<latka:sessionProperties id="props"/>
<latka:setPropertiesFromRequest properties="props"/>
<jsp:forward page="RunTest.jsp"/>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/SetTestDir.jsp
Index: SetTestDir.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<latka:sessionProperties id="props"/>
<% props.setProperty("latka.testDir",
request.getParameter("testDir")); %>
<jsp:forward page="TestMenu.jsp"/>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/TestForm.jsp
Index: TestForm.jsp
===================================================================
<%@ page contentType="text/html" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<html>
<body>
<jsp:include page="Header.jsp" flush="true"/>
<p><jsp:include page="ValidateXML.jsp" flush="true"/>
<latka:sessionProperties id="props"/>
<p>Type your Latka test in this form:</p>
<form method="post" action="ProcessTestBody.jsp">
<% String testBody = props.getProperty("latka.testBody"); %>
<textarea NAME="testBody" ROWS="18" COLS="70">
<% if (testBody != null) { %><%= testBody %><%
} else { %><jsp:include page="DefaultLatkaSuite.jsp" flush="true"/><% } %>
</textarea>
<br>
<input type="submit">
</form>
</body>
</html>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/TestMenu.jsp
Index: TestMenu.jsp
===================================================================
<%@ page import="java.net.URLEncoder,java.util.Date,java.text.SimpleDateFormat" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<jsp:include page="Header.jsp" flush="true"/>
<latka:sessionProperties id="props"/>
<%
String testDir = props.getProperty("latka.testDir",
application.getInitParameter("latka.testDir"));
%>
<html>
<head>
</head>
<body>
<p>
<form action="SetTestDir.jsp">
Test directory:
<input type="text" name="testDir" size="60" value="<%= testDir %>">
<input type="submit" value="Set New Test Directory">
</form>
</p>
<p><jsp:include page="ValidateXML.jsp" flush="true"/></p>
<p>All Latka tests located in the server directory <b><%=testDir%></b>:</p>
<p>
<latka:listTests id="files" testDir="<%= testDir %>"/>
<table>
<tr>
<th></th><th>File name</th><th>Last modified</th>
</tr>
<%
SimpleDateFormat formatter
= new SimpleDateFormat ("M/d/yyyy h:mm a zzz");
%>
<% for (int i = 0; i < files.length; ++i) { %>
<tr>
<td>
<%
String fileName = files[i].toURL().toString();
String encodedFilename = URLEncoder.encode(fileName);
%>
[<a href="ProcessTestURL.jsp?url=<%= encodedFilename %>">Execute test</a>]
<jsp:include page="ViewSuiteLink.jsp" flush="true">
<jsp:param name="url" value="<%= fileName %>"/>
</jsp:include>
</td>
<td>
<%= files[i].getName() %>
</td>
<td>
<%= formatter.format(new Date(files[i].lastModified())) %>
</td>
</tr>
<% } %>
</table>
<%
if (files.length == 0) { %>
<font color="red"><b>[No tests in specified server directory]</b></font>
<% } %>
</p>
</body>
</html>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/ToggleValidation.jsp
Index: ToggleValidation.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<latka:sessionProperties id="props"/>
<%
props.setProperty("latka.xmlValidation",
request.getParameter("validate"));
response.sendRedirect(request.getHeader("Referer"));
%>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/ValidateXML.jsp
Index: ValidateXML.jsp
===================================================================
<%@ taglib uri="http://jakarta.apache.org/taglibs/latka-taglib" prefix="latka" %>
<latka:sessionProperties id="props"/>
Validate XML?:
<%
String xmlValidation = props.getProperty("latka.xmlValidation", "false");
if (xmlValidation.equals("true")) { %>
<b>On</b> <a href="ToggleValidation.jsp?validate=false">[Turn Off]</a>
<% } else { %>
<b>Off</b> <a href="ToggleValidation.jsp?validate=true">[Turn On]</a>
<% } %>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/ViewSuiteLink.jsp
Index: ViewSuiteLink.jsp
===================================================================
<%@ page import="java.net.URLEncoder" %>
<%
String encodedURL = URLEncoder.encode(request.getParameter("url"));
%>
[<a href="viewSuite?url=<%= encodedURL %>" target="_blank">View test</a>]
1.1 jakarta-commons/latka/src/webapps/latka-webapp/index.jsp
Index: index.jsp
===================================================================
<jsp:include page="Header.jsp" flush="true"/>
<p>
<b>Choose from this list of options:</b>
</p>
<p>
<ul>
<li><a href="TestMenu.jsp">Run a test from the server</a></li>
<li><a href="TestForm.jsp">Enter a test manually</a></li>
<li>
<form method="post" action="ProcessTestURL.jsp">
Run a test at this URL:
<input type="text" name="url" size="30">
<input type="submit" value="Run Test">
<jsp:include page="ValidateXML.jsp" flush="true"/>
</form>
</li>
</ul>
</p>
<p><a href="help/index.jsp"></a><u>Help</u></p>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/report.xsl
Index: report.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="no"/>
<xsl:template match="/">
<xsl:apply-templates/>
<p><blockquote>Thank you very much.</blockquote></p>
</xsl:template>
<xsl:template match="report">
<xsl:apply-templates select="//request[not(requestSuccess)] | reportMessage"/>
<p><xsl:call-template name="summary"/></p>
</xsl:template>
<xsl:template name="summary">
<xsl:choose>
<xsl:when test="/report/@suiteSuccess = 'true'">
<font color="green">SUITE SUCCEEDED</font>
</xsl:when>
<xsl:otherwise>
<font color="red">SUITE FAILED</font>
</xsl:otherwise>
</xsl:choose>
<p>
<xsl:value-of select="count(//request)"/> requests.<br/>
<xsl:value-of select="count(//request/requestSuccess)"/> passed.<br/>
<xsl:value-of select="count(//request/requestFailure)"/> failed.<br/>
<xsl:value-of select="count(//request/requestSkipped)"/> skipped.<br/>
<xsl:value-of select="count(//request/requestError)"/> errors.
</p>
</xsl:template>
<xsl:template match="reportMessage">
<p><font color="green">[message]</font> <xsl:value-of select="@message"/></p>
</xsl:template>
<xsl:template match="request">
<p>
<xsl:call-template name="result"/><br/>
<font color="blue">url:</font> <xsl:value-of select="@url"/>
<br/>
<font color="blue">test label:</font> <xsl:value-of select="@label"/>
<br/>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template name="result">
<xsl:choose>
<xsl:when test="requestSuccess">
<font color="green">REQUEST SUCCEEDED</font>
</xsl:when>
<xsl:when test="requestFailure">
<font color="red">REQUEST FAILED</font>
</xsl:when>
<xsl:when test="requestError">
<font color="red">REQUEST ERROR</font>
</xsl:when>
<xsl:when test="requestSkipped">
<font color="gray">REQUEST SKIPPED</font>
</xsl:when>
</xsl:choose>
(<xsl:value-of select="@requestTime"/> millis)
</xsl:template>
<xsl:template match="requestFailure">
<xsl:variable name="responseId" select="@responseId"/>
<font color="blue">validation failure:</font>
<blockquote>
<form action="viewResponse">
<xsl:apply-templates/><br/>
<input type="hidden" name="responseId" value="{$responseId}"/>
<input type="submit" value="view response"/>
</form>
</blockquote>
</xsl:template>
<xsl:template match="requestError">
<font color="blue">error message:</font>
<blockquote>
<xsl:apply-templates/>
</blockquote>
</xsl:template>
</xsl:stylesheet>
1.1 jakarta-commons/latka/src/webapps/latka-webapp/WEB-INF/web.xml
Index: web.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<description>
Latka standard web application
</description>
<context-param>
<param-name>latka.testDir</param-name>
<param-value>/lib/latka/tests/samples</param-value>
</context-param>
<!-- view response servlet -->
<servlet>
<servlet-name>viewResponse</servlet-name>
<servlet-class>org.apache.commons.latka.servlet.ViewResponseServlet</servlet-class>
</servlet>
<!-- view suite servlet -->
<servlet>
<servlet-name>viewSuite</servlet-name>
<servlet-class>org.apache.commons.latka.servlet.ViewSuiteServlet</servlet-class>
</servlet>
<!-- view response servlet -->
<servlet-mapping>
<servlet-name>viewResponse</servlet-name>
<url-pattern>/viewResponse</url-pattern>
</servlet-mapping>
<!-- view suite servlet -->
<servlet-mapping>
<servlet-name>viewSuite</servlet-name>
<url-pattern>/viewSuite</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>http://jakarta.apache.org/taglibs/latka-taglib</taglib-uri>
<taglib-location>/WEB-INF/latka-taglib.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://jakarta.apache.org/taglibs/io</taglib-uri>
<taglib-location>/WEB-INF/io.tld</taglib-location>
</taglib>
<!-- if you want to test basic auth, you have to set it up the latka-auth
role in your servlet container's security interface -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/self-test/basicAuth/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>latka-auth</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>latka-realm</realm-name>
</login-config>
</web-app>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/WEB-INF/classes/latka.properties
Index: latka.properties
===================================================================
# User defined default properties for each test.
# These properties can be overridden on the command line.
# Some example properties:
# defaultHost=localhost
# defaultPort=8080
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/basicAuth/Login.jsp
Index: Login.jsp
===================================================================
Logged in
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/cookies/SetCookie.jsp
Index: SetCookie.jsp
===================================================================
<%@ page import="javax.servlet.http.Cookie" %>
<%
String cookieName = request.getParameter("cookieName");
String cookieValue = request.getParameter("cookieValue");
Cookie cookie = new Cookie(cookieName,cookieValue);
cookie.setPath("/");
cookie.setDomain("localhost");
response.addCookie(cookie);
%>
Cookie added; name=<%=cookieName%>; value=<%=cookieValue%><br>
Cookie path: <%=cookie.getPath()%><br>
Cookie domain: <%=cookie.getDomain()%><br>
<br>
Cookie header set: <%=response.containsHeader("Set-Cookie")%>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/redirect/ExternalRedirect.jsp
Index: ExternalRedirect.jsp
===================================================================
<%
response.sendRedirect("http://jakarta.apache.org/commons");
%>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/redirect/InternalRedirect.jsp
Index: InternalRedirect.jsp
===================================================================
<% response.sendRedirect("RedirectTarget.jsp"); %>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/redirect/PrintReferer.jsp
Index: PrintReferer.jsp
===================================================================
Referer: <%=request.getHeader("Referer") %>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/redirect/RedirectTarget.jsp
Index: RedirectTarget.jsp
===================================================================
Received redirect.
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/snoop/Cookies.jsp
Index: Cookies.jsp
===================================================================
<%@ page import="javax.servlet.http.Cookie" %>
<pre>
<%
Cookie[] cookies = request.getCookies();
if (cookies == null) {
return;
}
for (int i=0; i < cookies.length; ++i) {
%>
<%= cookies[i].getName() %>:<%= cookies[i].getValue() %>
<% } %>
</pre>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/snoop/RequestHeaders.jsp
Index: RequestHeaders.jsp
===================================================================
<%@ page import="java.util.Enumeration" %>
<pre>
<%
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String headerName = (String) e.nextElement();
Enumeration f = request.getHeaders(headerName);
while (f.hasMoreElements()) {
%>
<%= headerName %>:<%= f.nextElement() %>
<%
}
}
%>
</pre>
1.1
jakarta-commons/latka/src/webapps/latka-webapp/self-test/xpath/TestMeWithXPath.xml
Index: TestMeWithXPath.xml
===================================================================
<?xml version="1.0"?>
<doc>
<element attribute="foo"/>
<element attribute="bar"/>
<element2 attribute="foo"/>
</doc>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>