Author: sebb
Date: Sun Sep  2 13:04:37 2007
New Revision: 572135

URL: http://svn.apache.org/viewvc?rev=572135&view=rev
Log:
Bug 40991 - Allow Assertions to check Headers

Added:
    
jakarta/jmeter/branches/rel-2-2/docs/images/screenshots/assertion/assertion.png 
  (with props)
    
jakarta/jmeter/branches/rel-2-2/xdocs/images/screenshots/assertion/assertion.png
   (with props)
Removed:
    
jakarta/jmeter/branches/rel-2-2/docs/images/screenshots/assertion/assertion.gif
    
jakarta/jmeter/branches/rel-2-2/xdocs/images/screenshots/assertion/assertion.gif
Modified:
    jakarta/jmeter/branches/rel-2-2/docs/api/index-all.html
    
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/ResponseAssertion.html
    
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/package-summary.html
    jakarta/jmeter/branches/rel-2-2/docs/api/serialized-form.html
    jakarta/jmeter/branches/rel-2-2/docs/changes.html
    jakarta/jmeter/branches/rel-2-2/docs/usermanual/component_reference.html
    
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
    
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/JMeterVersion.java
    
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/assertions/PackageTest.java
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
    jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/branches/rel-2-2/docs/api/index-all.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/api/index-all.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/docs/api/index-all.html (original)
+++ jakarta/jmeter/branches/rel-2-2/docs/api/index-all.html Sun Sep  2 13:04:37 
2007
@@ -11323,6 +11323,9 @@
 <DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#isTestFieldResponseData()"><B>isTestFieldResponseData()</B></A>
 - 
 Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
 <DD>&nbsp;
+<DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#isTestFieldResponseHeaders()"><B>isTestFieldResponseHeaders()</B></A>
 - 
+Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
+<DD>&nbsp;
 <DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#isTestFieldResponseMessage()"><B>isTestFieldResponseMessage()</B></A>
 - 
 Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
 <DD>&nbsp;
@@ -14369,7 +14372,7 @@
 <DT><A HREF="org/apache/jmeter/report/writers/ReportWriter.html" 
title="interface in org.apache.jmeter.report.writers"><B>ReportWriter</B></A> - 
interface org.apache.jmeter.report.writers.<A 
HREF="org/apache/jmeter/report/writers/ReportWriter.html" title="interface in 
org.apache.jmeter.report.writers">ReportWriter</A>.<DD>&nbsp;<DT><A 
HREF="org/apache/jmeter/monitor/model/RequestInfo.html" title="interface in 
org.apache.jmeter.monitor.model"><B>RequestInfo</B></A> - interface 
org.apache.jmeter.monitor.model.<A 
HREF="org/apache/jmeter/monitor/model/RequestInfo.html" title="interface in 
org.apache.jmeter.monitor.model">RequestInfo</A>.<DD>&nbsp;<DT><A 
HREF="org/apache/jmeter/monitor/model/RequestInfoImpl.html" title="class in 
org.apache.jmeter.monitor.model"><B>RequestInfoImpl</B></A> - class 
org.apache.jmeter.monitor.model.<A 
HREF="org/apache/jmeter/monitor/model/RequestInfoImpl.html" title="class in 
org.apache.jmeter.monitor.model">RequestInfoImpl</A>.<DD>&nbsp;<DT><A HREF="
 
org/apache/jmeter/monitor/model/RequestInfoImpl.html#RequestInfoImpl()"><B>RequestInfoImpl()</B></A>
 - 
 Constructor for class org.apache.jmeter.monitor.model.<A 
HREF="org/apache/jmeter/monitor/model/RequestInfoImpl.html" title="class in 
org.apache.jmeter.monitor.model">RequestInfoImpl</A>
 <DD>&nbsp;
-<DT><A HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class 
in org.apache.jmeter.assertions"><B>ResponseAssertion</B></A> - class 
org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>.<DD>&nbsp;<DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#ResponseAssertion()"><B>ResponseAssertion()</B></A>
 - 
+<DT><A HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class 
in org.apache.jmeter.assertions"><B>ResponseAssertion</B></A> - class 
org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>.<DD>Test element to handle 
Response Assertions, @see AssertionGui<DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#ResponseAssertion()"><B>ResponseAssertion()</B></A>
 - 
 Constructor for class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
 <DD>&nbsp;
 <DT><A HREF="org/apache/jmeter/reporters/ResultAction.html" title="class in 
org.apache.jmeter.reporters"><B>ResultAction</B></A> - class 
org.apache.jmeter.reporters.<A 
HREF="org/apache/jmeter/reporters/ResultAction.html" title="class in 
org.apache.jmeter.reporters">ResultAction</A>.<DD>ResultAction - take action 
based on the status of the last Result<DT><A 
HREF="org/apache/jmeter/reporters/ResultAction.html#ResultAction()"><B>ResultAction()</B></A>
 - 
@@ -18385,6 +18388,9 @@
 Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
 <DD>&nbsp;
 <DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#setTestFieldResponseData()"><B>setTestFieldResponseData()</B></A>
 - 
+Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
+<DD>&nbsp;
+<DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#setTestFieldResponseHeaders()"><B>setTestFieldResponseHeaders()</B></A>
 - 
 Method in class org.apache.jmeter.assertions.<A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html" title="class in 
org.apache.jmeter.assertions">ResponseAssertion</A>
 <DD>&nbsp;
 <DT><A 
HREF="org/apache/jmeter/assertions/ResponseAssertion.html#setTestFieldResponseMessage()"><B>setTestFieldResponseMessage()</B></A>
 - 

Modified: 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/ResponseAssertion.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/ResponseAssertion.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/ResponseAssertion.html
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/ResponseAssertion.html
 Sun Sep  2 13:04:37 2007
@@ -97,9 +97,11 @@
 <DT>public class <B>ResponseAssertion</B><DT>extends <A 
HREF="../../../../org/apache/jmeter/testelement/AbstractTestElement.html" 
title="class in 
org.apache.jmeter.testelement">AbstractTestElement</A><DT>implements <A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html"; 
title="class or interface in java.io">Serializable</A>, <A 
HREF="../../../../org/apache/jmeter/assertions/Assertion.html" title="interface 
in org.apache.jmeter.assertions">Assertion</A></DL>
 
 <P>
+Test element to handle Response Assertions, @see AssertionGui
+<P>
+
+<P>
 <DL>
-<DT><B>Author:</B></DT>
-  <DD>Michael Stover, <a href="mailto:[EMAIL PROTECTED]">Jonathan 
Carlson</a></DD>
 <DT><B>See Also:</B><DD><A 
HREF="../../../../serialized-form.html#org.apache.jmeter.assertions.ResponseAssertion">Serialized
 Form</A></DL>
 <HR>
 
@@ -266,6 +268,14 @@
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../org/apache/jmeter/assertions/ResponseAssertion.html#isTestFieldResponseHeaders()">isTestFieldResponseHeaders</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
 <TD><CODE><B><A 
HREF="../../../../org/apache/jmeter/assertions/ResponseAssertion.html#isTestFieldResponseMessage()">isTestFieldResponseMessage</A></B>()</CODE>
 
 <BR>
@@ -306,6 +316,14 @@
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../org/apache/jmeter/assertions/ResponseAssertion.html#setTestFieldResponseHeaders()">setTestFieldResponseHeaders</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
 <TD><CODE><B><A 
HREF="../../../../org/apache/jmeter/assertions/ResponseAssertion.html#setTestFieldResponseMessage()">setTestFieldResponseMessage</A></B>()</CODE>
 
 <BR>
@@ -484,6 +502,20 @@
 </DL>
 <HR>
 
+<A NAME="setTestFieldResponseHeaders()"><!-- --></A><H3>
+setTestFieldResponseHeaders</H3>
+<PRE>
+public void <B>setTestFieldResponseHeaders</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
 <A NAME="isTestFieldURL()"><!-- --></A><H3>
 isTestFieldURL</H3>
 <PRE>
@@ -530,6 +562,20 @@
 isTestFieldResponseMessage</H3>
 <PRE>
 public boolean <B>isTestFieldResponseMessage</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTestFieldResponseHeaders()"><!-- --></A><H3>
+isTestFieldResponseHeaders</H3>
+<PRE>
+public boolean <B>isTestFieldResponseHeaders</B>()</PRE>
 <DL>
 <DD><DL>
 </DL>

Modified: 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/package-summary.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/package-summary.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/package-summary.html
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/docs/api/org/apache/jmeter/assertions/package-summary.html
 Sun Sep  2 13:04:37 2007
@@ -129,7 +129,7 @@
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD WIDTH="15%"><B><A 
HREF="../../../../org/apache/jmeter/assertions/ResponseAssertion.html" 
title="class in org.apache.jmeter.assertions">ResponseAssertion</A></B></TD>
-<TD>&nbsp;</TD>
+<TD>Test element to handle Response Assertions, @see AssertionGui</TD>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD WIDTH="15%"><B><A 
HREF="../../../../org/apache/jmeter/assertions/SizeAssertion.html" title="class 
in org.apache.jmeter.assertions">SizeAssertion</A></B></TD>

Modified: jakarta/jmeter/branches/rel-2-2/docs/api/serialized-form.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/api/serialized-form.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/docs/api/serialized-form.html (original)
+++ jakarta/jmeter/branches/rel-2-2/docs/api/serialized-form.html Sun Sep  2 
13:04:37 2007
@@ -365,6 +365,18 @@
 <HR>
 
 <H3>
+responseHeadersButton</H3>
+<PRE>
+<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JRadioButton.html"; 
title="class or interface in javax.swing">JRadioButton</A> 
<B>responseHeadersButton</B></PRE>
+<DL>
+<DD>Radio button indicating that the headers should be tested.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
 assumeSuccess</H3>
 <PRE>
 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JCheckBox.html"; 
title="class or interface in javax.swing">JCheckBox</A> 
<B>assumeSuccess</B></PRE>

Modified: jakarta/jmeter/branches/rel-2-2/docs/changes.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/changes.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/docs/changes.html (original)
+++ jakarta/jmeter/branches/rel-2-2/docs/changes.html Sun Sep  2 13:04:37 2007
@@ -261,6 +261,11 @@
                                                </li>
                                                                        
 
+                                                                               
                <li     >
+                                                               Bug 40991 - 
Allow Assertions to check Headers
+                                               </li>
+                                                                       
+
                                                </ul>
                                                                                
                                                                                
<h3     >
                                                                Version 2.3RC3

Added: 
jakarta/jmeter/branches/rel-2-2/docs/images/screenshots/assertion/assertion.png
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/images/screenshots/assertion/assertion.png?rev=572135&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
jakarta/jmeter/branches/rel-2-2/docs/images/screenshots/assertion/assertion.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
jakarta/jmeter/branches/rel-2-2/docs/usermanual/component_reference.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/docs/usermanual/component_reference.html?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/docs/usermanual/component_reference.html 
(original)
+++ jakarta/jmeter/branches/rel-2-2/docs/usermanual/component_reference.html 
Sun Sep  2 13:04:37 2007
@@ -7947,7 +7947,7 @@
 
 
                                                                                
                                <p><b>Control Panel</b></p>
-                                               <div align="center"><img 
width='624' height='363' 
src="../images/screenshots/assertion/assertion.gif"></div>
+                                               <div align="center"><img 
width='766' height='382' 
src="../images/screenshots/assertion/assertion.png"></div>
                                                                                
                                                                                
                         <p>
        <b>Parameters</b>
        <table border="1" cellspacing="0" cellpadding="2">
@@ -7964,6 +7964,7 @@
                        <td>Response Field to Test</td>
                        <td>                                            
Instructs JMeter which field of the Response to test.
                 This may be the Response Text from the server, the URL string 
that was sampled,
+                the Response Headers (JMeter version 2.3RC3 and earlier 
included the headers with the Text),
                 the Response Code (e.g. 404) or the Response Message (e.g. Not 
Found).
                 
                                                                                
                <p      >

Modified: 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
 Sun Sep  2 13:04:37 2007
@@ -40,9 +40,7 @@
 // @see org.apache.jmeter.assertions.PackageTest for unit tests
 
 /**
- * 
- * @author Michael Stover
- * @author <a href="mailto:[EMAIL PROTECTED]">Jonathan Carlson</a>
+ * Test element to handle Response Assertions, @see AssertionGui
  */
 public class ResponseAssertion extends AbstractTestElement implements 
Serializable, Assertion {
        private static final Logger log = LoggingManager.getLoggerForClass();
@@ -59,6 +57,8 @@
 
        private final static String RESPONSE_MESSAGE = 
"Assertion.response_message"; // $NON-NLS-1$
 
+       private final static String RESPONSE_HEADERS = 
"Assertion.response_headers"; // $NON-NLS-1$
+
        private final static String ASSUME_SUCCESS = 
"Assertion.assume_success"; // $NON-NLS-1$
 
        private final static String TEST_STRINGS = "Asserion.test_strings"; // 
$NON-NLS-1$
@@ -119,6 +119,10 @@
                setTestField(RESPONSE_MESSAGE);
        }
 
+       public void setTestFieldResponseHeaders(){
+               setTestField(RESPONSE_HEADERS);
+       }
+
        public boolean isTestFieldURL(){
                return SAMPLE_URL.equals(getTestField());
        }
@@ -135,6 +139,10 @@
                return RESPONSE_MESSAGE.equals(getTestField());
        }
 
+       public boolean isTestFieldResponseHeaders(){
+               return RESPONSE_HEADERS.equals(getTestField());
+       }
+
        private void setTestType(int testType) {
                setProperty(new IntegerProperty(TEST_TYPE, testType));
        }
@@ -262,14 +270,13 @@
 
                // What are we testing against?
                if (isTestFieldResponseData()) {
-                       // TODO treat header separately from response? (would 
not apply to
-                       // all samplers)
-                       String data = response.getResponseDataAsString(); // 
(bug25052)
-                       toCheck = new 
StringBuffer(response.getResponseHeaders()).append(data).toString();
+                       toCheck = response.getResponseDataAsString(); // 
(bug25052)
                } else if (isTestFieldResponseCode()) {
                        toCheck = response.getResponseCode();
                } else if (isTestFieldResponseMessage()) {
                        toCheck = response.getResponseMessage();
+               } else if (isTestFieldResponseHeaders()) {
+                       toCheck = response.getResponseHeaders();
                } else { // Assume it is the URL
                        toCheck = response.getSamplerData(); // TODO - is this 
where the URL is stored?
                        if (toCheck == null)
@@ -334,12 +341,14 @@
                StringBuffer sb = new StringBuffer(200);
                sb.append("Test failed, ");
 
-               if (ResponseAssertion.RESPONSE_DATA.equals(getTestField())) {
+               if (isTestFieldResponseData()) {
                        sb.append("text");
-               } else if 
(ResponseAssertion.RESPONSE_CODE.equals(getTestField())) {
+               } else if (isTestFieldResponseCode()) {
                        sb.append("code");
-               } else if 
(ResponseAssertion.RESPONSE_MESSAGE.equals(getTestField())) {
+               } else if (isTestFieldResponseMessage()) {
                        sb.append("message");
+               } else if (isTestFieldResponseHeaders()) {
+                       sb.append("headers");
                } else // Assume it is the URL
                {
                        sb.append("URL");

Modified: 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
 Sun Sep  2 13:04:37 2007
@@ -61,6 +61,9 @@
        /** Radio button indicating that the responseCode should be tested. */
        private JRadioButton responseCodeButton;
 
+       /** Radio button indicating that the headers should be tested. */
+       private JRadioButton responseHeadersButton;
+
        /**
         * Checkbox to indicate whether the response should be forced successful
         * before testing. This is intended for use when checking the status 
code or
@@ -132,14 +135,16 @@
                                ra.addTestString(testStrings[i]);
                        }
 
-                       if (urlButton.isSelected()) {
-                               ra.setTestFieldURL();
+                       if (responseStringButton.isSelected()) {
+                               ra.setTestFieldResponseData();
                        } else if (responseCodeButton.isSelected()) {
                                ra.setTestFieldResponseCode();
                        } else if (responseMessageButton.isSelected()) {
                                ra.setTestFieldResponseMessage();
-                       } else {
-                               ra.setTestFieldResponseData();
+                       } else if (responseHeadersButton.isSelected()) {
+                               ra.setTestFieldResponseHeaders();
+                       } else { // Assume URL
+                               ra.setTestFieldURL();
                        }
 
                        ra.setAssumeSuccess(assumeSuccess.isSelected());
@@ -172,6 +177,7 @@
         urlButton.setSelected(false);
         responseCodeButton.setSelected(false);
         responseMessageButton.setSelected(false);
+        responseHeadersButton.setSelected(false);
         assumeSuccess.setSelected(false);
         
         containsBox.setSelected(true);
@@ -219,6 +225,8 @@
                        responseCodeButton.setSelected(true);
                } else if (model.isTestFieldResponseMessage()) {
                        responseMessageButton.setSelected(true);
+               } else if (model.isTestFieldResponseHeaders()) {
+                       responseHeadersButton.setSelected(true);
                } else // Assume it is the URL
                {
                        urlButton.setSelected(true);
@@ -270,17 +278,20 @@
                urlButton = new 
JRadioButton(JMeterUtils.getResString("assertion_url_samp")); //$NON-NLS-1$
                responseCodeButton = new 
JRadioButton(JMeterUtils.getResString("assertion_code_resp")); //$NON-NLS-1$
                responseMessageButton = new 
JRadioButton(JMeterUtils.getResString("assertion_message_resp")); //$NON-NLS-1$
+               responseHeadersButton = new 
JRadioButton(JMeterUtils.getResString("assertion_headers")); //$NON-NLS-1$
 
                ButtonGroup group = new ButtonGroup();
                group.add(responseStringButton);
                group.add(urlButton);
                group.add(responseCodeButton);
                group.add(responseMessageButton);
+               group.add(responseHeadersButton);
 
                panel.add(responseStringButton);
                panel.add(urlButton);
                panel.add(responseCodeButton);
                panel.add(responseMessageButton);
+               panel.add(responseHeadersButton);
 
                responseStringButton.setSelected(true);
 

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
 Sun Sep  2 13:04:37 2007
@@ -47,6 +47,7 @@
 assertion_code_resp=Response Code
 assertion_contains=Contains
 assertion_equals=Equals
+assertion_headers=Response Headers
 assertion_matches=Matches
 assertion_message_resp=Response Message
 assertion_not=Not

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/JMeterVersion.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/JMeterVersion.java?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/JMeterVersion.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/JMeterVersion.java
 Sun Sep  2 13:04:37 2007
@@ -42,7 +42,7 @@
         * JMeterUtils This ensures that JMeterUtils always gets the correct
         * version, even if it is not re-compiled during the build.
         */
-       private static final String VERSION = "2.3";
+       private static final String VERSION = "2.3.20070902";
 
        static final String COPYRIGHT = "Copyright (c) 1998-2007 The Apache 
Software Foundation";
 

Modified: 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/assertions/PackageTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/assertions/PackageTest.java?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/assertions/PackageTest.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/assertions/PackageTest.java
 Sun Sep  2 13:04:37 2007
@@ -279,6 +279,7 @@
                                        ).getBytes());
                        sample.setSamplerData("Sampler Label");// This is where 
RA checks the URL!
                        sample.setResponseCode("401");
+                       sample.setResponseHeaders("X-Header: abcd");
                }
 
                public void testResponseAssertionEquals() throws Exception{
@@ -298,6 +299,21 @@
                        assertPassed();
                }
                
+               public void testResponseAssertionHeaders() throws Exception{
+                       assertion.unsetNotType();
+                       assertion.setToEqualsType();
+                       assertion.setTestFieldResponseHeaders();
+                       assertion.addTestString("X-Header: abcd");
+                       assertion.addTestString("X-Header: abcdx");
+                       result = assertion.getResult(sample);
+                       assertFailed();
+
+                       assertion.clearTestStrings();
+                       assertion.addTestString("X-Header: abcd");
+                       result = assertion.getResult(sample);
+                       assertPassed();
+               }
+               
                public void testResponseAssertionContains() throws Exception{
                        assertion.unsetNotType();
                        assertion.setToContainsType();
@@ -346,7 +362,7 @@
                        if (null != result.getFailureMessage()){
                                
//System.out.println(result.getFailureMessage());// debug
                        }
-                       assertNull(result.getFailureMessage());
+                       
assertNull(result.getFailureMessage(),result.getFailureMessage());
                        assertFalse(result.isError());
                        assertFalse(result.isFailure());                
                }

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Sun Sep  2 13:04:37 2007
@@ -58,6 +58,7 @@
 <li>Bug 403873 - add JMS point-to-point non-persistent delivery option</li>
 <li>Bug 43283 - Save action adds .jmx if not present; checks for existing file 
on Save As</li>
 <li>Control+A key does not work for Save All As; changed to 
Control+Shift+S</li>
+<li>Bug 40991 - Allow Assertions to check Headers</li>
 </ul>
 
 <h3>Version 2.3RC3</h3>

Added: 
jakarta/jmeter/branches/rel-2-2/xdocs/images/screenshots/assertion/assertion.png
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/images/screenshots/assertion/assertion.png?rev=572135&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
jakarta/jmeter/branches/rel-2-2/xdocs/images/screenshots/assertion/assertion.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: 
jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/component_reference.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/component_reference.xml?rev=572135&r1=572134&r2=572135&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/component_reference.xml 
(original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/usermanual/component_reference.xml 
Sun Sep  2 13:04:37 2007
@@ -2457,7 +2457,7 @@
        "true" or "false" after all assertions for a sampler have been run.
         </note>
 </description>
-<component name="Response Assertion" index="&sect-num;.5.1" 
anchor="basic_assertion"  width="624" height="363" 
screenshot="assertion/assertion.gif">
+<component name="Response Assertion" index="&sect-num;.5.1" 
anchor="basic_assertion"  width="766" height="382" 
screenshot="assertion/assertion.png">
 
 <description><p>The response assertion control panel lets you add pattern 
strings to be compared against various
        fields of the response.
@@ -2492,6 +2492,7 @@
         <property name="Name" required="">Descriptive name for this element 
that is shown in the tree.</property>
         <property name="Response Field to Test" required="Yes">Instructs 
JMeter which field of the Response to test.
                 This may be the Response Text from the server, the URL string 
that was sampled,
+                the Response Headers (JMeter version 2.3RC3 and earlier 
included the headers with the Text),
                 the Response Code (e.g. 404) or the Response Message (e.g. Not 
Found).
                 <p>
                 The overall success of the sample is determined by combining 
the result of the



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

Reply via email to