You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/09/02 22:04:39 UTC

svn commit: r572135 - in /jakarta/jmeter/branches/rel-2-2: docs/ docs/api/ docs/api/org/apache/jmeter/assertions/ docs/images/screenshots/assertion/ docs/usermanual/ src/components/org/apache/jmeter/assertions/ src/components/org/apache/jmeter/assertio...

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:jacarlco@katun.com">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:jacarlco@katun.com">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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org