sebb        2003/10/15 16:05:33

  Modified:    src/components/org/apache/jmeter/assertions/gui
                        AssertionGui.java
               src/components/org/apache/jmeter/assertions
                        ResponseAssertion.java
  Log:
  Response Assertion can now check response code and response message
  
  Revision  Changes    Path
  1.14      +38 -9     
jakarta-jmeter/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
  
  Index: AssertionGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- AssertionGui.java 7 Jun 2003 18:37:05 -0000       1.13
  +++ AssertionGui.java 15 Oct 2003 23:05:33 -0000      1.14
  @@ -95,6 +95,12 @@
       /** Radio button indicating that the URL should be tested. */
       private JRadioButton labelButton;
   
  +     /** Radio button indicating that the responseMessage should be tested. */
  +     private JRadioButton responseMessageButton;
  +
  +     /** Radio button indicating that the responseCode should be tested. */
  +     private JRadioButton responseCodeButton;
  +
       /**
        * Radio button indicating to test if the field contains one of the
        * patterns.
  @@ -166,6 +172,14 @@
               {
                   ra.setTestField(ResponseAssertion.SAMPLE_LABEL);
               }
  +            else if (responseCodeButton.isSelected())
  +            {
  +                             ra.setTestField(ResponseAssertion.RESPONSE_CODE);
  +            }
  +                     else if (responseMessageButton.isSelected())
  +                     {
  +                             ra.setTestField(ResponseAssertion.RESPONSE_MESSAGE);
  +                     }
               else
               {
                   ra.setTestField(ResponseAssertion.RESPONSE_DATA);
  @@ -227,11 +241,17 @@
           if (ResponseAssertion.RESPONSE_DATA.equals(model.getTestField()))
           {
               responseStringButton.setSelected(true);
  -            labelButton.setSelected(false);
           }
  -        else
  +             else if (ResponseAssertion.RESPONSE_CODE.equals(model.getTestField()))
  +             {
  +                     responseCodeButton.setSelected(true);
  +             }
  +             else if 
(ResponseAssertion.RESPONSE_MESSAGE.equals(model.getTestField()))
  +             {
  +                     responseMessageButton.setSelected(true);
  +             }
  +        else // Assume it is the URL
           {
  -            responseStringButton.setSelected(false);
               labelButton.setSelected(true);
           }
   
  @@ -287,13 +307,22 @@
               new JRadioButton(JMeterUtils.getResString("assertion_text_resp"));
           labelButton =
               new JRadioButton(JMeterUtils.getResString("assertion_url_samp"));
  +             responseCodeButton =
  +                     new 
JRadioButton(JMeterUtils.getResString("assertion_code_resp"));
  +             responseMessageButton =
  +                     new 
JRadioButton(JMeterUtils.getResString("assertion_message_resp"));
   
           ButtonGroup group = new ButtonGroup();
           group.add(responseStringButton);
           group.add(labelButton);
  +             group.add(responseCodeButton);
  +             group.add(responseMessageButton);
  +             
           panel.add(responseStringButton);
           panel.add(labelButton);
  -
  +             panel.add(responseCodeButton);
  +             panel.add(responseMessageButton);
  +             
           responseStringButton.setSelected(true);
   
           return panel;
  
  
  
  1.13      +53 -18    
jakarta-jmeter/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
  
  Index: ResponseAssertion.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/assertions/ResponseAssertion.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ResponseAssertion.java    2 Oct 2003 19:25:08 -0000       1.12
  +++ ResponseAssertion.java    15 Oct 2003 23:05:33 -0000      1.13
  @@ -1,4 +1,8 @@
   /*
  + * $Header$
  + * $Revision$
  + * $Date$
  + * 
    * ====================================================================
    * The Apache Software License, Version 1.1
    *
  @@ -75,21 +79,24 @@
    *
    * @author     Michael Stover
    * @author     <a href="mailto:[EMAIL PROTECTED]">Jonathan Carlson</a>
  - * @created    $Date$
  - * @version    $Revision$
  + * @version    $Revision$ Last Updated: $Date$
    ***********************************************************/
   public class ResponseAssertion
      extends AbstractTestElement
      implements Serializable, Assertion
   {
      public final static String TEST_FIELD = "Assertion.test_field";
  -   public final static String TEST_TYPE = "Assertion.test_type";
  -   public final static String TEST_STRINGS = "Asserion.test_strings";
  +   // Values for TEST_FIELD
      public final static String SAMPLE_LABEL = "Assertion.sample_label";
      public final static String RESPONSE_DATA = "Assertion.response_data";
  +   public final static String RESPONSE_CODE = "Assertion.response_code";
  +   public final static String RESPONSE_MESSAGE = "Assertion.response_message";
  +
  +   public final static String TEST_STRINGS = "Asserion.test_strings";
   
  +   public final static String TEST_TYPE = "Assertion.test_type";
      /* 
  -    * Mask values for TestType
  +    * Mask values for TEST_TYPE
       * TODO: remove either MATCH or CONTAINS - they are mutually exckusive 
       */
      public final static int MATCH = 1 << 0;
  @@ -161,15 +168,15 @@
      {
         getTestStrings().addProperty(new StringProperty(testString,testString));
      }
  -   public void setTestString(String testString, int index)
  +   public void setTestString(String testString, int index)//NOTUSED?
      {
         getTestStrings().set(index, testString);
      }
  -   public void removeTestString(String testString)
  +   public void removeTestString(String testString)//NOTUSED?
      {
         getTestStrings().remove(testString);
      }
  -   public void removeTestString(int index)
  +   public void removeTestString(int index)//NOTUSED?
      {
         getTestStrings().remove(index);
      }
  @@ -275,16 +282,27 @@
         boolean pass = true;
         boolean not = (NOT & getTestType()) > 0;
         AssertionResult result = new AssertionResult();
  -      String toCheck; // The string to check (Url or data)
  +      String toCheck=""; // The string to check (Url or data)
         
  +      // What are we testing against?
         if (ResponseAssertion.RESPONSE_DATA.equals(getTestField()))
  -      { // We're testing the response data
  +      {
                toCheck = new String(response.responseDataAsBA());
  -      } else { // we're testing the URL
  +      }
  +      else if (ResponseAssertion.RESPONSE_CODE.equals(getTestField()))
  +      {
  +             toCheck=response.getResponseCode();
  +       }
  +       else if (ResponseAssertion.RESPONSE_MESSAGE.equals(getTestField()))
  +       {
  +             toCheck=response.getResponseMessage();
  +      }
  +      else 
  +      { // Assume it is the URL
                toCheck=response.getSamplerData();
                if (toCheck == null) toCheck = "";
         }
  -      
  +
         if(toCheck.length()==0)
         {
             return setResultForNull(result);
  @@ -343,24 +361,41 @@
    */
   private String getFailText(String stringPattern) {
        String text;
  +     String what;
  +     if (ResponseAssertion.RESPONSE_DATA.equals(getTestField()))
  +     {
  +             what="text";
  +     }
  +     else if (ResponseAssertion.RESPONSE_CODE.equals(getTestField()))
  +     {
  +             what="code";
  +     }
  +     else if (ResponseAssertion.RESPONSE_MESSAGE.equals(getTestField()))
  +     {
  +             what="message";
  +     }
  +     else // Assume it is the URL
  +     {
  +             what="URL";
  +     }
        switch(getTestType()){
                case CONTAINS:
  -                     text = "Test failed, expected to contain ";
  +                     text = " expected to contain ";
                        break;
                case NOT | CONTAINS:
  -                     text = "Test failed, expected not to contain ";
  +                     text = " expected not to contain ";
                        break;
                case MATCH:
  -                     text = "Test failed, expected to match ";
  +                     text = " expected to match ";
                        break;
                case NOT | MATCH:
  -                     text = "Test failed, expected not to match ";
  +                     text = " expected not to match ";
                        break;
                default:// should never happen...
  -             text = "Test failed, expected something using ";
  +             text = " expected something using ";
        }
   
  -     return text + "/" + stringPattern + "/";
  +     return "Test failed, " + what + text + "/" + stringPattern + "/";
   }
   protected AssertionResult setResultForNull(AssertionResult result)
   {
  
  
  

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

Reply via email to