morgand     02/01/15 13:56:02

  Added:       latka/doc index.xml
  Log:
  latka docbook before "xpath" validator doco
  
  Revision  Changes    Path
  1.1                  jakarta-commons/latka/doc/index.xml
  
  Index: index.xml
  ===================================================================
  <chapter id="latka">
     <title>Latka (Version 1.0 Alpha 2)</title>
     <sect1>
        <title>What is Latka?</title>
        <para>
           <firstterm>Latka</firstterm> is a functional (end-to-end) testing
           tool. It is implemented in Java, and uses an XML syntax to define
           a series of HTTP (or HTTPS) requests and a set of
           <firstterm>validations</firstterm> used to verify that the request
           was processed correctly.
        </para>
        <remark>
           Although Latka currently supports only HTTP and HTTPS
           request/response validations, it may be expanded to perform other
           sorts of functional testing as warranted.
        </remark>
        <para>
           A simple example of a Latka XML test suite is shown in our 
           <ulink url="TestCommonsWebsite.xml">sample Latka test suite</ulink>.
           When processed, this example would verify that the Jakarta Commons 
           homepage is present and that all the Commons Components have online 
documenation. 
        </para>
     </sect1>
     <sect1>
        <title>Installing Latka</title>
        <sect2>
           <title>Requirements</title>
          <itemizedlist>
            <listitem>JDK 1.3 or better</listitem> 
            <listitem>
              (for optional web application) 
              Tomcat 4.0 B7 or better - does not work in Tomcat 3.2, untested in other 
containers 
            </listitem>
            <listitem>
              (for optional SSL support) 
              Sun JSSE library
            </listitem>
          </itemizedlist>
        </sect2>
        
        <sect2>
          <title>General installation</title>
          <orderedlist>
            <listitem>Download and uncompress the Latka distribution.</listitem> 
            <listitem>
              If you wish to perform Latka test over SSL, 
              you need to configure your JVM with the Sun JSSE library.
            </listitem> 
          </orderedlist>
        </sect2>
        
        <sect2>
          <title>Optional web application installation </title>
          <orderedlist>
            <listitem>
              Copy the "webapp/latka-webapp.war" file from the 
              distribution to the "webapp" directory of Tomcat. 
            </listitem>
            <listitem>
              If you have already configured log4j for Tomcat, 
              you should remove log4j.jar from the /WEB-INF/lib 
              directory of the Latka webapp. 
            </listitem>
          </orderedlist>
        </sect2>
     </sect1>
  
     <sect1>
        <title>Using Latka</title>
        <sect2>
          <title>Running the sample tests</title>
          
          <remark>Command-line interface</remark>
          
          <orderedlist>
            <listitem>Open a command prompt inside the "bin" directory of the 
distribution.</listitem>
            <listitem>
              Run the Latka batch script on one of the sample XML test suites 
              (e.g. "latka file:../tests/samples/TestCommonsWebsite.xml ").
            </listitem>
          </orderedlist>
          
          <remark>Web application</remark>
          
          <orderedlist>
            <listitem>Go to the index page of the Latka web application.</listitem>
            <listitem>Select "Run a test from the server" </listitem>
            <listitem>
              In the test directory dialog box, enter the directory: 
              &lt;latka distrubution directory>/tests/samples 
            </listitem>
            <listitem>Click on one of the tests to execute it. </listitem>
          </orderedlist>
        </sect2>
        <sect2>
          <title>Creating your own tests</title>
          <para>
            (More to come...) Examine the Latka DTD in the conf directory 
            for a list of all available elements. See the samples for typical syntax. 
          </para>
        </sect2>
        <sect2>
          <title>Running tests</title>
          
          <remark>Command-line interface</remark>
          
          <orderedlist>
            <listitem>Open a command prompt inside the "bin" directory of the 
distribution. </listitem>
            <listitem>
              Run the Latka script with no arguments for information on usage. 
            </listitem>
          </orderedlist>
          
          <remark>Web application</remark>
          
          <orderedlist>
            <listitem>Go to the index page of the Latka web application. </listitem>
            <listitem>Select "Run a test from the server" </listitem>
            <listitem>
              In the test directory dialog box, enter the directory where your tests 
are located. 
            </listitem>
            <listitem>Click on one of the tests to execute it. </listitem>
          </orderedlist>
        </sect2>
        
        <sect2>
          <title>Creating your custom validations</title>
          <remark>(More to come...)</remark>
        </sect2>
     </sect1>
          
     <sect1>
        <title>Latka XML Reference</title>
  
        <!-- REFENTRY: byteLength -->
        <sect2 id="latka.ref.byteLength" xreflabel="byteLength">
           <title>byteLength</title>
           <para>
              validates the length of an HTTP(S) response
           </para>
           <sect3>
              <title>DTD</title>
              <programlisting> &lt;!ELEMENT byteLength EMPTY&gt;
  &lt;!ATTLIST byteLength min   CDATA "0"
                       max   CDATA #IMPLIED
                       label CDATA #IMPLIED&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <informaltable colsep="1" rowsep="1">
                 <tgroup cols="4">
                    <colspec colwidth="1in"/>
                    <colspec colwidth="1in"/>
                    <colspec colwidth="1in"/>
                    <colspec colwidth="2in"/>
                    <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">min</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">0</sgmltag></entry>
                          <entry>
                             Minimum number of bytes required for a valid
                             response. Implied. Defaults to
                             <sgmltag class="attvalue">0</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">max</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Maximum number of bytes required for a valid
                             response. Optional. When absent, there is no
                             upper limit on the number of bytes in a valid
                             response.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.validate"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>byteLength</sgmltag> validation
                 passes if the HTTP(S) response is at least
                 <sgmltag class="attribute">min</sgmltag>
                 bytes long, and (when specified) at most
                 <sgmltag class="attribute">max</sgmltag> bytes long.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: COOKIE -->
        <sect2 id="latka.ref.cookie" xreflabel="cookie">
           <title>cookie</title>
           <para>
              validates the presence of an HTTP(S) cookie in a response
           </para>
           <sect3>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT cookie EMPTY>
  <!ATTLIST cookie name  CDATA #REQUIRED
                   value CDATA #IMPLIED
                   label CDATA #IMPLIED>]]></programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">name</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, but required</emphasis></entry>
                          <entry>
                             The name of the cookie to look for.
                             Required.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">value</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, optional</emphasis></entry>
                          <entry>
                             The value that the cookie with the specified name should
                             have (if any).
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.validate"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>cookie</sgmltag> validation
                 passes if the HTTP(S) response contains a cookie with the
                 specified  <sgmltag class="attribute">name</sgmltag>.
                 If a <sgmltag class="attribute">value</sgmltag> is provided,
                 the cookie must also have the specified value.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: CREDENTIALS -->
        <sect2 id="latka.ref.credentials" xreflabel="credentials">
           <title>credentials</title>
           <para>
              username/password credentials for Basic HTTP authentication.
           </para>
           <sect3>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT credentials EMPTY>
  <!ATTLIST credentials user_name CDATA #REQUIRED
                        password  CDATA #REQUIRED>]]></programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">user_name</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, required</emphasis></entry>
                          <entry>User name. Required.</entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">password</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, required</emphasis></entry>
                          <entry>Password. Required.</entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.request"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 Contains credentials for HTTP Basic Authentication.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: maxRequestTime -->
        <sect2 id="latka.ref.maxRequestTime" xreflabel="maxRequestTime">
           <title>maxRequestTime</title>
           <para>validates the response time for an HTTP(S) request</para>
           <sect3>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT maxRequestTime EMPTY>
  <!ATTLIST maxRequestTime millis CDATA "30000"
                             message  CDATA #IMPLIED>]]></programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">millis</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">30000</sgmltag></entry>
                          <entry>
                             Maximum amount of time, in milliseconds, in which
                             a response must be returned to be considered a
                             valid response.  Implied. Defaults to
                             <sgmltag class="attvalue">30000</sgmltag> milliseconds,
                             or 30 seconds.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.validate"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>maxRequestTime</sgmltag> validation
                 passes if the HTTP(S) response is obtained in no more than
                 <sgmltag class="attribute">millis</sgmltag> milliseconds.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: PARAM -->
        <sect2 id="latka.ref.param" xreflabel="param">
           <title>param</title>
           <para>indicates a request parameter as part of an HTTP(S) request to be 
executed</para>
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT request (<xref 
linkend="latka.ref.paramName"/>, <xref 
linkend="latka.ref.paramValue"/>)&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.request"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A parameter to be submitted as part of a <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: paramName -->
        <sect2 id="latka.ref.paramName" xreflabel="paramName">
           <title>paramName</title>
           <para>the name part of a name/value pair parameter</para>
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT paramName (#PCDATA)&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref linkend="latka.ref.param"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 The name part of <sgmltag><xref linkend="latka.ref.param"/></sgmltag>
                 to be submitted as part of a <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: paramValue -->
        <sect2 id="latka.ref.paramValue" xreflabel="paramValue">
           <title>paramValue</title>
           <para>the value part of a name/value pair parameter</para>
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT paramValue (#PCDATA)&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref linkend="latka.ref.param"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 The value part of <sgmltag><xref linkend="latka.ref.param"/></sgmltag>
                 to be submitted as part of a <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: REGEXP -->
        <sect2 id="latka.ref.regexp" xreflabel="regexp">
           <title>regexp</title>
           <para>
              validates the presence or absence of a regular expression within an 
HTTP(S) response
           </para>
           <sect3>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT regexp EMPTY>
  <!ATTLIST regexp pattern    CDATA          #REQUIRED
                   cond       (true | false) "true"
                   ignoreCase (true | false) "false"
                   label       CDATA         #IMPLIED>]]></programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">pattern</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none, but required.</emphasis></entry>
                          <entry>
                             The regular expression to look for.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">cond</sgmltag></entry>
                          <entry>
                             <emphasis>Enumeration:</emphasis>
                             <simplelist>
                                <member><sgmltag 
class="attvalue">true</sgmltag></member>
                                <member><sgmltag 
class="attvalue">false</sgmltag></member>
                             </simplelist>
                          </entry>
                          <entry><sgmltag class="attvalue">true</sgmltag></entry>
                          <entry>
                             When <sgmltag class="attvalue">true</sgmltag>,
                             the given <sgmltag class="attribute">pattern</sgmltag>
                             must match within the response.
                             When <sgmltag class="attvalue">false</sgmltag>,
                             the given <sgmltag class="attribute">pattern</sgmltag>
                             must not match within the response.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag 
class="attribute">ignoreCase</sgmltag></entry>
                          <entry>
                             <emphasis>Enumeration:</emphasis>
                             <simplelist>
                                <member><sgmltag 
class="attvalue">true</sgmltag></member>
                                <member><sgmltag 
class="attvalue">false</sgmltag></member>
                             </simplelist>
                          </entry>
                          <entry><sgmltag class="attvalue">false</sgmltag></entry>
                          <entry>
                             When <sgmltag class="attvalue">true</sgmltag>,
                             case is ignored within the
                             given <sgmltag class="attribute">pattern</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.validate"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>maxRequestTime</sgmltag> validation
                 passes if the HTTP(S) response is obtained in no more than
                 <sgmltag class="attribute">millis</sgmltag> milliseconds.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: REQUEST -->
        <sect2 id="latka.ref.request" xreflabel="request">
           <title>request</title>
  
  
              <para>indicates an  HTTP(S) request to be executed</para>
  
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT request (<xref 
linkend="latka.ref.credentials"/>?, <xref linkend="latka.ref.param"/>*, <xref 
linkend="latka.ref.validate"/>?)&gt;
  &lt;!ATTLIST request path   CDATA        #REQUIRED
                       method (post | get) "get"
                       host   CDATA        #IMPLIED
                       port   CDATA        #IMPLIED
                       label  CDATA        #IMPLIED&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <para>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                          <row>
                             <entry>Name</entry>
                             <entry>Type</entry>
                             <entry>Default</entry>
                             <entry>Description</entry>
                          </row>
                       </thead>
                       <tbody>
                          <row>
                             <entry><sgmltag class="attribute">path</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none, but required</emphasis></entry>
                             <entry>Request path. Required.</entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">method</sgmltag></entry>
                             <entry>
                                <emphasis>enumeration:</emphasis>
                                <simplelist>
                                   <member><sgmltag 
class="attvalue">get</sgmltag></member>
                                   <member><sgmltag 
class="attvalue">post</sgmltag></member>
                                </simplelist>
                             </entry>
                             <entry><sgmltag class="attvalue">get</sgmltag></entry>
                             <entry>HTTP method. Implied. Defaults to <sgmltag 
class="attvalue">get</sgmltag>.</entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">host</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none</emphasis></entry>
                             <entry>
                                Host to submit request to.
                                Optional.
                                When absent, uses default from <sgmltag><xref 
linkend="latka.ref.suite"/></sgmltag>.
                             </entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">port</sgmltag></entry>
                             <entry>NUMBER</entry>
                             <entry><emphasis>depends upon protocol</emphasis></entry>
                             <entry>
                                Port to submit request to.
                                Optional.
                                When absent, uses default from <sgmltag><xref 
linkend="latka.ref.suite"/></sgmltag>.
                             </entry>
                          </row>
                          <row>
                             <entry><sgmltag class="attribute">label</sgmltag></entry>
                             <entry>CDATA</entry>
                             <entry><emphasis>none</emphasis></entry>
                             <entry>
                                Label associated with this validation, which may
                                be used in programatically generated documentation
                                or reports. Optional.
                             </entry>
                          </row>
                       </tbody>
                    </tgroup>
                 </informaltable>
              </para>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref linkend="latka.ref.suite"/></sgmltag></member>
                 <member><sgmltag><xref 
linkend="latka.ref.session"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 An HTTP(S) request to be executed.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: SESSION -->
        <sect2 id="latka.ref.session" xreflabel="session">
           <title>session</title>
  
  
              <para>wrapper for a sequence of <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>s associated with the same state 
(session)</para>
  
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT session (<xref 
linkend="latka.ref.request"/>+)&gt;
  &lt;!ATTLIST session session_id CDATA #IMPLIED
                       label      CDATA #IMPLIED&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag 
class="attribute">session_id</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Unique identifier for this <sgmltag>session</sgmltag>.
                             Sessions with the same <sgmltag 
class="attribute">session_id</sgmltag>
                             will share the same underlying state (e.g., cookies, etc.)
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this <sgmltag>session</sgmltag>, 
which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref linkend="latka.ref.suite"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>session</sgmltag> is a collection of
                 <sgmltag><xref linkend="latka.ref.request"/></sgmltag>s
                 that share the same underlying state. For example,
                 a cookie that returned in the response to one
                 <sgmltag><xref linkend="latka.ref.request"/></sgmltag>
                 will be included in subsequent
                 <sgmltag><xref linkend="latka.ref.request"/></sgmltag>s.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: statusCode -->
        <sect2 id="latka.ref.statusCode" xreflabel="statusCode">
           <title>statusCode</title>
  
  
              <para>validates an HTTP response code</para>
  
           <sect3>
              <title>DTD</title>
              <programlisting><![CDATA[<!ELEMENT statusCode EMPTY>
  <!ATTLIST statusCode code  CDATA "200"
                        label CDATA #IMPLIED>]]></programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag class="attribute">code</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><sgmltag class="attvalue">200</sgmltag></entry>
                          <entry>
                             Numeric HTTP response code to expect.
                             Implied. Defaults to
                             <sgmltag class="attvalue">200</sgmltag>.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this validation, which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.validate"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>statusCode</sgmltag> validation
                 passes if the HTTP(S) response code for the given request
                 matches the value specified by
                 <sgmltag class="attribute">code</sgmltag>.
              </para>
           </sect3>
        </sect2>
  
        <!-- REFENTRY: SUITE -->
        <sect2 id="latka.ref.suite" xreflabel="suite">
           <title>suite</title>
  
  
              <para>root element for a suite of tests</para>
  
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT suite ( (<xref 
linkend="latka.ref.session"/> | <xref linkend="latka.ref.request"/>)+ )&gt;
  &lt;!ATTLIST suite default_host CDATA #IMPLIED
                     default_port CDATA #IMPLIED
                     label        CDATA #IMPLIED&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
                 <informaltable colsep="1" rowsep="1">
                    <tgroup cols="4">
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="1in"/>
                       <colspec colwidth="2in"/>
                       <thead>
                       <row>
                          <entry>Name</entry>
                          <entry>Type</entry>
                          <entry>Default</entry>
                          <entry>Description</entry>
                       </row>
                    </thead>
                    <tbody>
                       <row>
                          <entry><sgmltag 
class="attribute">default_host</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Default hostname for <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>s. Optional.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag 
class="attribute">default_port</sgmltag></entry>
                          <entry>NUMBER</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Default port for <sgmltag><xref 
linkend="latka.ref.request"/></sgmltag>s. Optional.
                          </entry>
                       </row>
                       <row>
                          <entry><sgmltag class="attribute">label</sgmltag></entry>
                          <entry>CDATA</entry>
                          <entry><emphasis>none</emphasis></entry>
                          <entry>
                             Label associated with this <sgmltag>suite</sgmltag>, 
which may
                             be used in programatically generated documentation
                             or reports. Optional.
                          </entry>
                       </row>
                    </tbody>
                 </tgroup>
              </informaltable>
           </sect3>
           <sect3>
              <title>Parents</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 A <sgmltag>suite</sgmltag> is a collection of
                 <sgmltag><xref linkend="latka.ref.request"/></sgmltag>s
                 and <sgmltag><xref linkend="latka.ref.session"/></sgmltag>s
                 to execute.
              </para>
           </sect3>
        </sect2>
  
  
        <!-- REFENTRY: VALIDATE -->
        <sect2 id="latka.ref.validate" xreflabel="validate">
           <title>validate</title>
  
  
              <para>
                 indicates the suite of validations to apply to the
                 current <sgmltag><xref linkend="latka.ref.request"/></sgmltag> (and 
its response)
              </para>
  
           <sect3>
              <title>DTD</title>
              <programlisting>&lt;!ELEMENT validate (<xref 
linkend="latka.ref.byteLength"/> | <xref linkend="latka.ref.cookie"/> | <xref 
linkend="latka.ref.maxRequestTime"/> | <xref linkend="latka.ref.regexp"/> | <xref 
linkend="latka.ref.statusCode"/> )+&gt;</programlisting>
           </sect3>
           <sect3>
              <title>Attributes</title>
              <para>
                 <emphasis>None.</emphasis>
              </para>
           </sect3>
           <sect3>
              <title>Parents</title>
              <simplelist type="inline">
                 <member><sgmltag><xref 
linkend="latka.ref.request"/></sgmltag></member>
              </simplelist>
           </sect3>
           <sect3>
              <title>Description</title>
              <para>
                 Contains the set of validations to apply to the
                 current <sgmltag><xref linkend="latka.ref.request"/></sgmltag>
                 (and its response).
              </para>
           </sect3>
        </sect2>
     
     </sect1>
  </chapter>
  
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to