mstover1    2002/07/25 19:48:46

  Modified:    src_1/org/apache/jmeter/functions CompoundFunction.java
               src_1/org/apache/jmeter/protocol/http/modifier
                        URLRewritingModifier.java
               src_1/org/apache/jmeter/protocol/http/modifier/gui
                        UserParameterModifierGui.java
               src_1/org/apache/jmeter/protocol/http/sampler
                        HTTPSampler.java
  Log:
  User defined variables bug fix
  URL Rewriting Modifier enhancement
  User Parameter Modifier fix reload
  
  Revision  Changes    Path
  1.3       +12 -0     
jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java
  
  Index: CompoundFunction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CompoundFunction.java     18 Jul 2002 03:44:21 -0000      1.2
  +++ CompoundFunction.java     26 Jul 2002 02:48:46 -0000      1.3
  @@ -177,7 +177,9 @@
                        if(hasStatics())
                        {
                                compiledComponents.clear();
  +                             hasStatics = false;
                                setParameters(staticSubstitution);
  +                             hasStatics = true;
                        }
                }
                else if(hasStatics())
  @@ -287,6 +289,7 @@
                {
                        Map userDefinedVariables = new HashMap();
                        userDefinedVariables.put("my_regex",".*");
  +                     userDefinedVariables.put("server","jakarta.apache.org");
                        function = new CompoundFunction();
                        function.setUserDefinedVariables(userDefinedVariables);
                        result = new SampleResult();
  @@ -340,6 +343,15 @@
                                        
function.compiledComponents.getFirst().toString());
                        assertEquals("${non-existing 
function}",function.execute(result,null));
                        assertEquals("${non-existing 
function}",function.execute(null,null));
  +             }
  +             
  +             public void testParseExample6() throws Exception
  +             {
  +                     function.setParameters("${server}");
  +                     assertEquals(1,function.compiledComponents.size());
  +                     assertTrue(!function.hasFunction());
  +                     assertTrue(function.hasStatics());
  +                     assertEquals("jakarta.apache.org",function.execute(null,null));
                }
                
                public void testParseExample5() throws Exception
  
  
  
  1.3       +52 -1     
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java
  
  Index: URLRewritingModifier.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/URLRewritingModifier.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- URLRewritingModifier.java 18 Jun 2002 01:01:14 -0000      1.2
  +++ URLRewritingModifier.java 26 Jul 2002 02:48:46 -0000      1.3
  @@ -2,7 +2,10 @@
   
   import java.io.Serializable;
   
  +import junit.framework.TestCase;
  +
   import org.apache.jmeter.config.Argument;
  +import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.ResponseBasedModifier;
   import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
   import org.apache.jmeter.samplers.SampleResult;
  @@ -78,7 +81,7 @@
        {
                setProperty(ARGUMENT_NAME,argName);
                try {
  -                     case1 = compiler.compile(argName+"=(.*)[& ]");
  +                     case1 = compiler.compile(argName+"=([^\">& ]*)[& 
\\n\\r\">]?$?");
                        case2 = 
compiler.compile("[Nn][Aa][Mm][Ee]=\""+argName+"\"[^>]+[vV][Aa][Ll][Uu][Ee]=\"(.*)\"");
                        case3 = 
compiler.compile("[vV][Aa][Ll][Uu][Ee]=\"(.*)\"[^>]+[Nn][Aa][Mm][Ee]=\""+argName+"\"");
                } catch(MalformedPatternException e) {
  @@ -99,6 +102,54 @@
        public boolean isPathExtension()
        {
                return getPropertyAsBoolean(PATH_EXTENSION);
  +     }
  +     
  +     public static class Test extends TestCase
  +     {
  +             SampleResult response;
  +             public Test(String name)
  +             {
  +                     super(name);
  +             }
  +             
  +             public void setUp()
  +             {
  +                     
  +             }
  +             
  +             public void testGrabSessionId() throws Exception
  +             {
  +                     String html = "location: 
http://server.com/index.html?session_id=jfdkjdkfjddkfdfjkdjfdf";;
  +                     response = new SampleResult();
  +                     response.setResponseData(html.getBytes());
  +                     URLRewritingModifier mod = new URLRewritingModifier();
  +                     mod.setArgumentName("session_id");
  +                     HTTPSampler sampler = new HTTPSampler();
  +                     sampler.setDomain("server.com");
  +                     sampler.setPath("index.html");
  +                     sampler.setMethod(HTTPSampler.GET);
  +                     sampler.setProtocol("http");
  +                     mod.modifyEntry(sampler,response);
  +                     Arguments args = sampler.getArguments();
  +                     
assertEquals("jfdkjdkfjddkfdfjkdjfdf",((Argument)args.getArguments().get(0)).getValue());
  +             }
  +             
  +             public void testGrabSessionId2() throws Exception
  +             {
  +                     String html = "<a 
href=\"http://server.com/index.html?session_id=jfdkjdkfjddkfdfjkdjfdf\";>";
  +                     response = new SampleResult();
  +                     response.setResponseData(html.getBytes());
  +                     URLRewritingModifier mod = new URLRewritingModifier();
  +                     mod.setArgumentName("session_id");
  +                     HTTPSampler sampler = new HTTPSampler();
  +                     sampler.setDomain("server.com");
  +                     sampler.setPath("index.html");
  +                     sampler.setMethod(HTTPSampler.GET);
  +                     sampler.setProtocol("http");
  +                     mod.modifyEntry(sampler,response);
  +                     Arguments args = sampler.getArguments();
  +                     
assertEquals("jfdkjdkfjddkfdfjkdjfdf",((Argument)args.getArguments().get(0)).getValue());
  +             }
        }
   
   }
  
  
  
  1.3       +8 -1      
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/gui/UserParameterModifierGui.java
  
  Index: UserParameterModifierGui.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/modifier/gui/UserParameterModifierGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- UserParameterModifierGui.java     2 May 2002 22:54:59 -0000       1.2
  +++ UserParameterModifierGui.java     26 Jul 2002 02:48:46 -0000      1.3
  @@ -101,6 +101,13 @@
        public String getStaticLabel() {
                return JMeterUtils.getResString("HTTP User Parameter Modifier");
        }
  +     
  +     public void configure(TestElement el)
  +     {
  +             super.configure(el);
  +             fileNameField.setText(((UserParameterModifier)el).getXmlUri());
  +     }
  +     
        
/*----------------------------------------------------------------------------------------------
         * Methods Private
         
*--------------------------------------------------------------------------------------------*/
  
  
  
  1.19      +5 -4      
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
  
  Index: HTTPSampler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- HTTPSampler.java  18 Jul 2002 18:55:53 -0000      1.18
  +++ HTTPSampler.java  26 Jul 2002 02:48:46 -0000      1.19
  @@ -646,7 +646,8 @@
                URL newUrl = new URL(loc);
                urlConfig.setDomain(newUrl.getHost());
                urlConfig.setPath(newUrl.getFile());
  -             urlConfig.setArguments(new Arguments());
  +             urlConfig.removeArguments();
  +             urlConfig.parseArguments(newUrl.getQuery());
                urlConfig.setMethod(HTTPSampler.GET);
        }
   
  @@ -664,7 +665,7 @@
                SampleResult res = new SampleResult();
                if(redirected)
                {
  -                     url.removeArguments();
  +                     //url.removeArguments();
                        // [Jordi <[EMAIL PROTECTED]>
                        // TO-DO: I need to investigate why this is necessary.
                        // ...although it won't do any harm...
  
  
  

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

Reply via email to