| <html> |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <link rel="stylesheet" href="../../../../../default_style.css" type="text/css"> |
| <link rel="stylesheet" href="../../../../../webtools/wtp.css" type="text/css"> |
| <title>test plan: Web validation</title> |
| </head> |
| <body> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <tbody> |
| <tr> |
| <td width="60%" align="left"><font class="indextop">jst j2ee</font> |
| <br> |
| <font class="indexsub">test plan: Web validation</font></td><td width="40%"><img width="207" hspace="50" height="129" align="middle" src="../../../../../webtools/images/wtplogosmall.jpg"></td> |
| </tr> |
| </tbody> |
| </table> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <col width="16"> |
| <col width="*"> |
| <tbody> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Introduction</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </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 valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Steps</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </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> |