<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link type="text/css" href="../../../../../default_style.css" rel="stylesheet"><link type="text/css" href="../../../../../webtools/wtp.css" rel="stylesheet"><title>test plan: Web validation</title></head><body><table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td align="left" width="60%"><font class="indextop">jst j2ee</font><br><font class="indexsub">test plan: Web validation</font></td><td width="40%"><img src="../../../../../webtools/images/wtplogosmall.jpg" align="middle" height="129" hspace="50" width="207" alt="WTP Logo" usemap="logomap"><map id="logomap" name="logomap"><area coords="0,0,207,129" href="/webtools/" alt="WTP Home"></map></td></tr></tbody></table><table border="0" cellpadding="2" cellspacing="5" width="100%"><col width="16"><col width="*"><tbody><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Introduction</font></b></td></tr><tr><td align="right" valign="top"> | |
| |
</td><td valign="top"><p> | |
Validation is provided for Web Application of version 2.2, 2.3 and 2.4. | |
When validation runs both the web project structure, as well as the | |
web.xml and any web related artifacts are validated. The following test | |
scenario is aimed at exercising all validation checks to insure they are | |
working properly. In order to properly test the validation, invalid | |
states must be created by the user by editing the web.xml as well as the | |
project structure. The following scenario gives a list of states the | |
validator checks and instructions on how to edit your web app to achieve | |
these "invalid" states. | |
<br> | |
<br> | |
Import an web application (one for each spec version) which contains examples needed to run all War related validation checks. | |
Follow every step below for each archive web application. | |
<br> | |
Download the following 2.3 spec level war <A href="resource/Test23Web.war" target="_blank">Test23Web.war</A>. Navigate via the browse | |
button and select this war from | |
disk. Keep the default Project | |
Name, select your Target | |
runtime, and click finish. | |
<br> | |
For each of the following steps, open the web.xml....make the change | |
needed, save then run validation (by building or selecting "Run | |
Validation" after right clicking on the project) and check the | |
problems view (note: you may need to open the Problems view by hand | |
</p></td></tr><tr><td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b><font color="#ffffff" face="Arial,Helvetica">Steps</font></b></td></tr><tr><td align="right" valign="top"> | |
| |
</td><td valign="top"><p> | |
<ol> | |
<LI> | |
<B>Servlet Mapping</B> | |
<br> | |
Navigate to the | |
<FONT color="#0000ff"><servlet-mapping></FONT> | |
tag | |
<br> | |
<UL> | |
<LI> | |
Change the name to "HellowServlet1". Save and | |
run validaiton to see a warning | |
<br> | |
CHKJ3004W: The servlet mapping "/HelloServlet" | |
refers to a servlet that is not defined. web.xml | |
WebValidationTest23/WebContent/WEB-INF | |
</LI> | |
<LI> | |
Undo this change and continue | |
<br> | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Authorized role for a servlet mapping</B> | |
<br> | |
Add the following to the dd after the | |
<FONT color="#0000ff"><welcome-file-list></FONT> | |
. Save and run validation. There should be no errors | |
<br> | |
<UL> | |
<LI> | |
<B> | |
<security-role> | |
<br> | |
<description>This is a | |
user He is cool</description> | |
<br> | |
<role-name>user</role-name> | |
<br> | |
</security-role> | |
<br> | |
<security-role> | |
<br> | |
<description>This is | |
the boss</description> | |
<br> | |
<role-name>manager</role-name> | |
<br> | |
</security-role> | |
</B> | |
<br> | |
<br> | |
and add the following to the <servlet> element | |
<br> | |
<br> | |
<B> | |
<security-role-ref> | |
<br> | |
<role-name>user | |
role</role-name> | |
<br> | |
<role-link>user</role-link> | |
<br> | |
</security-role-ref> | |
</B> | |
</LI> | |
<br> | |
<br> | |
<LI> | |
Remove the role-name "user role" in the | |
security-role-ref Error Invalid Security role name | |
</LI> | |
<LI> | |
Remove the role-link "user" in the | |
security-role-ref Error InvalidSecurity role-link | |
</LI> | |
<LI> | |
Remove the role-name "user" on the | |
security-role | |
<br> | |
Error: Invalid Security role-link: user | |
<br> | |
Error: Empty entry of type security role name | |
</LI> | |
<LI> | |
Undo this change but leave the security roles | |
<br> | |
</LI> | |
</UL> | |
<br> | |
</LI> | |
<LI> | |
<B> | |
<I>User roles that are permitted access to security roles</I> | |
</B> | |
<BR> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<BR> | |
<B> | |
<security-constraint> | |
<BR> | |
<web-resource-collection> | |
<BR> | |
<web-resource-name>secure | |
content</web-resource-name> | |
<BR> | |
<description></description> | |
<BR> | |
<url-pattern>/secure</url-pattern> | |
<BR> | |
<http-method>PUT</http-method> | |
<BR> | |
<http-method>HEAD</http-method> | |
<BR> | |
</web-resource-collection> | |
<BR> | |
<auth-constraint> | |
<BR> | |
<description>this | |
is secure</description> | |
<BR> | |
<role-name>user</role-name> | |
<BR> | |
</auth-constraint> | |
<BR> | |
<user-data-constraint> | |
<BR> | |
<transport-guarantee>INTEGRAL</transport-guarantee> | |
<BR> | |
</user-data-constraint> | |
<BR> | |
</security-constraint> | |
<BR> | |
</B> | |
<BR> | |
and add the following | |
<BR> | |
<BR> | |
<B><web-resource-collection></B> | |
<BR> | |
<B> | |
<web-resource-name>WRC1</web-resource-name> | |
<BR> | |
<description></description> | |
<BR> | |
<http-method>PUT</http-method> | |
<BR> | |
<http-method>GET</http-method> | |
<BR> | |
</web-resource-collection> | |
</B> | |
</LI> | |
<LI> | |
change the PUT or GET to RANDOM or JUNK and save.Notice | |
the new error (then undo). | |
</LI> | |
<LI> | |
Renambe the <transport-guarantee> from INTEGRAL to | |
RANDOM and save. Notice the new error (then undo). | |
</LI> | |
<LI> | |
Rename | |
<FONT color="#0000ff"><role-name></FONT> | |
from user to user 1 and save. Notice the new error (then | |
undo). | |
</LI> | |
</UL> | |
<br> | |
</LI> | |
<LI> | |
<B> | |
Login Authentication | |
<br> | |
</B> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<br> | |
<B> | |
<login-config> | |
<br> | |
<auth-method>FORM</auth-method> | |
<br> | |
<form-login-config> | |
<br> | |
<form-login-page>/index.html</form-login-page> | |
<br> | |
<form-error-page>/error.html</form-error-page> | |
<br> | |
</form-login-config> | |
<br> | |
</login-config> | |
</B> | |
</LI> | |
<LI> | |
Rename | |
<FONT color="#0000ff"><auth-method></FONT> | |
FORM to BASIC and save. Notice the new validation | |
warning. (then undo). | |
</LI> | |
<LI> | |
Rename | |
<FONT color="#0000ff"><auth-method></FONT> | |
FORM to RANDOM and save. Notice the new error (then | |
undo). | |
</LI> | |
<LI> | |
Delete the | |
<FONT color="#0000ff"><url-pattern></FONT> | |
element in the <servlet-mapping>. Notice the new | |
error (then undo). | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Session Timeout</B> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<br> | |
<B> | |
<session-config> | |
<br> | |
<session-timeout>30</session-timeout> | |
<br> | |
</session-config> | |
</B> | |
</LI> | |
<LI> | |
Change the 30 to 30.5 and save. Notice the new error | |
(then undo). | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Error Code</B> | |
<br> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<br> | |
<B> | |
<error-page> | |
<br> | |
<error-code>404</error-code> | |
<br> | |
<location>/error.html</location> | |
<br> | |
</error-page> | |
<br> | |
<error-page> | |
<br> | |
<exception-type>com.ibm.servlet.PageNotFoundException</exception-type> | |
(Could not find class PageNotFoundException...) | |
<br> | |
<location>/error.html</location> | |
<br> | |
</error-page> | |
</B> | |
</LI> | |
<LI> | |
Verify that only error code can go into | |
<FONT color="#0000ff"><error-code></FONT> | |
by changing 404 to a string and save. Notice the new | |
error (then undo) | |
</LI> | |
<LI> | |
Verify that only Java Exception Class can go into | |
<FONT color="#0000ff"><exception-type></FONT> | |
by changing to RANDOM and save. Notice the new error | |
(then undo) | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Resource References</B> | |
<br> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<B> | |
<br> | |
<resource-ref id="ResourceRef_1"> | |
<br> | |
<description></description> | |
<br> | |
<res-ref-name>HelloWorld</res-ref-name> | |
<br> | |
<res-type>java.lang.Object</res-type> | |
<br> | |
<res-auth>Container</res-auth> | |
<br> | |
</resource-ref> | |
</B> | |
</LI> | |
<LI> | |
Verify | |
<FONT color="#0000ff"><res-auth></FONT> | |
can only be "Application" or | |
"Servlet" by changing both to | |
"RANDOM" and saving. Notice the new error (then | |
undo). | |
<br> | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Filter</B> | |
<br> | |
<UL> | |
<LI> | |
In the web.xml navigate to the the | |
<FONT color="#0000ff"><filter></FONT> | |
tag. | |
</LI> | |
<LI> | |
Change | |
<FONT color="#0000ff"><filter-name></FONT> | |
MyFilter | |
<FONT color="#0000ff"></filter-name></FONT> | |
to RANDOM and save. Notice the new error (then undo) | |
</LI> | |
<LI> | |
In the | |
<FONT color="#0000ff"><filter-mapping></FONT> | |
, change | |
<FONT color="#0000ff"><filter-name></FONT> | |
MyFilter | |
<FONT color="#0000ff"></filter-name></FONT> | |
to RANDOM and save. Notice the new error (then undo). | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Listener</B> | |
<UL> | |
<LI> | |
Add the following to the web.xml after the | |
<FONT color="#0000ff"><welcome-filelist></FONT> | |
tag and before the | |
<FONT color="#0000ff"><security-role></FONT> | |
tags | |
<B> | |
<br> | |
<listener> | |
<br> | |
<listener-class>webtooling.MyListener</listener-class> | |
<br> | |
</listener> | |
</B> | |
</LI> | |
<LI> | |
Change | |
<FONT color="#0000ff"><listener-class></FONT> | |
webtooling.MyListener | |
<FONT color="#0000ff"></listener-class></FONT> | |
to RANDOM and save. Notice the new error (then undo). | |
</LI> | |
</UL> | |
<BR> | |
</LI> | |
<LI> | |
<B>Validation Enablement</B> | |
<UL> | |
<LI> | |
Right click on one of your web projects and select | |
properties. IN the Validation submenu, select override | |
validation prefernces and deselect "War | |
Validator". Now rerun one of the above steps to | |
insure validation does not run on a build (note: it does | |
by default) and that the Run Validation menu item is | |
disabled. | |
</LI> | |
</UL> | |
<br> | |
<UL></UL> | |
</LI> | |
</ol> | |
</p></td></tr></tbody></table></body></html> |