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 2005/11/25 21:08:23 UTC
svn commit: r349009 - in /jakarta/jmeter/branches/rel-2-1/src:
components/org/apache/jmeter/assertions/ core/org/apache/jmeter/util/
Author: sebb
Date: Fri Nov 25 12:08:14 2005
New Revision: 349009
URL: http://svn.apache.org/viewcvs?rev=349009&view=rev
Log:
Move more tests to test tree
Modified:
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/XPathAssertion.java
jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/BeanShellServer.java
jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/StringUtilities.java
Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java?rev=349009&r1=349008&r2=349009&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/MD5HexAssertion.java Fri Nov 25 12:08:14 2005
@@ -1,6 +1,5 @@
-// $Header$
/*
- * Copyright 2004 The Apache Software Foundation.
+ * Copyright 2004-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,8 +31,6 @@
import java.security.NoSuchAlgorithmException;
import java.text.MessageFormat;
-import junit.framework.TestCase;
-
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.property.StringProperty;
@@ -96,7 +93,8 @@
return getPropertyAsString(MD5HexAssertion.MD5HEX_KEY);
}
- private static String baToHex(byte ba[]) {
+ // package protected so can be accessed by test class
+ static String baToHex(byte ba[]) {
StringBuffer sb = new StringBuffer(32);
for (int i = 0; i < ba.length; i++) {
int j = ba[i] & 0xff;
@@ -107,7 +105,8 @@
return sb.toString();
}
- private static String baMD5Hex(byte ba[]) {
+ // package protected so can be accessed by test class
+ static String baMD5Hex(byte ba[]) {
byte[] md5Result = {};
try {
@@ -118,17 +117,5 @@
log.error("", e);
}
return baToHex(md5Result);
- }
-
- public static class Test extends TestCase {
- public void testHex() throws Exception {
- assertEquals("00010203", baToHex(new byte[] { 0, 1, 2, 3 }));
- assertEquals("03020100", baToHex(new byte[] { 3, 2, 1, 0 }));
- assertEquals("0f807fff", baToHex(new byte[] { 0xF, -128, 127, -1 }));
- }
-
- public void testMD5() throws Exception {
- assertEquals("D41D8CD98F00B204E9800998ECF8427E", baMD5Hex(new byte[] {}).toUpperCase());
- }
}
}
Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=349009&r1=349008&r2=349009&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Fri Nov 25 12:08:14 2005
@@ -68,7 +68,7 @@
*/
private final static int MATCH = 1 << 0;
- private final static int CONTAINS = 1 << 1;
+ final static int CONTAINS = 1 << 1;
private final static int NOT = 1 << 2;
@@ -261,7 +261,7 @@
* an instance of SampleResult
* @return an instance of AssertionResult
*/
- private AssertionResult evaluateResponse(SampleResult response) {
+ AssertionResult evaluateResponse(SampleResult response) {
boolean pass = true;
boolean not = (NOT & getTestType()) > 0;
AssertionResult result = new AssertionResult();
@@ -368,58 +368,5 @@
}
return "Test failed, " + what + text + "/" + stringPattern + "/";
- }
-
- public static class Test extends junit.framework.TestCase {
- int threadsRunning;
-
- int failed;
-
- public Test(String name) {
- super(name);
- }
-
- public void testThreadSafety() throws Exception {
- Thread[] threads = new Thread[100];
- for (int i = 0; i < threads.length; i++) {
- threads[i] = new TestThread();
- }
- failed = 0;
- for (int i = 0; i < threads.length; i++) {
- threads[i].start();
- threadsRunning++;
- }
- synchronized (this) {
- while (threadsRunning > 0) {
- wait();
- }
- }
- assertEquals(failed, 0);
- }
-
- class TestThread extends Thread {
- static final String TEST_STRING = "DAbale arroz a la zorra el abad.";
-
- // Used to be 'dábale', but caused trouble on Gump. Reasons
- // unknown.
- static final String TEST_PATTERN = ".*A.*\\.";
-
- public void run() {
- ResponseAssertion assertion = new ResponseAssertion(RESPONSE_DATA, CONTAINS, TEST_PATTERN);
- SampleResult response = new SampleResult();
- response.setResponseData(TEST_STRING.getBytes());
- for (int i = 0; i < 100; i++) {
- AssertionResult result;
- result = assertion.evaluateResponse(response);
- if (result.isFailure() || result.isError()) {
- failed++;
- }
- }
- synchronized (Test.this) {
- threadsRunning--;
- Test.this.notifyAll();
- }
- }
- }
}
}
Modified: jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/XPathAssertion.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/XPathAssertion.java?rev=349009&r1=349008&r2=349009&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/XPathAssertion.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/assertions/XPathAssertion.java Fri Nov 25 12:08:14 2005
@@ -24,16 +24,10 @@
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
-import junit.framework.TestCase;
-import junit.textui.TestRunner;
-
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.property.BooleanProperty;
import org.apache.jmeter.testelement.property.StringProperty;
-import org.apache.jmeter.threads.JMeterContext;
-import org.apache.jmeter.threads.JMeterContextService;
-import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.XPathUtil;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -262,168 +256,4 @@
return getPropertyAsBoolean(NEGATE_KEY, false);
}
- // //////////////////////////////// TEST CASES
- // //////////////////////////////
-
- public static class XPathAssertionTest extends TestCase {
-
- XPathAssertion assertion;
-
- SampleResult result;
-
- JMeterVariables vars;
-
- JMeterContext jmctx;
-
- public XPathAssertionTest() {
- super();
- }
-
- public XPathAssertionTest(String name) {
- super(name);
- }
-
- public void setUp() {
- jmctx = JMeterContextService.getContext();
- assertion = new XPathAssertion();
- assertion.setThreadContext(jmctx);// This would be done by the run
- // command
- // assertion.setRefName("regVal");
-
- result = new SampleResult();
- String data = "<company-xmlext-query-ret>" + "<row>" + "<value field=\"RetCode\">LIS_OK</value>"
- + "<value field=\"RetCodeExtension\"></value>" + "<value field=\"alias\"></value>"
- + "<value field=\"positioncount\"></value>" + "<value field=\"invalidpincount\">0</value>"
- + "<value field=\"pinposition1\">1</value>" + "<value field=\"pinpositionvalue1\"></value>"
- + "<value field=\"pinposition2\">5</value>" + "<value field=\"pinpositionvalue2\"></value>"
- + "<value field=\"pinposition3\">6</value>" + "<value field=\"pinpositionvalue3\"></value>"
- + "</row>" + "</company-xmlext-query-ret>";
- result.setResponseData(data.getBytes());
- vars = new JMeterVariables();
- jmctx.setVariables(vars);
- jmctx.setPreviousResult(result);
- }
-
- public void testAssertion() throws Exception {
- assertion.setXPathString("//row/value[@field = 'alias']");
- AssertionResult res = assertion.getResult(jmctx.getPreviousResult());
- log.debug(" res " + res.isError());
- log.debug(" failure " + res.getFailureMessage());
- assertFalse(res.isError());
- assertFalse(res.isFailure());
- }
-
- public void testNegateAssertion() throws Exception {
- assertion.setXPathString("//row/value[@field = 'noalias']");
- assertion.setNegated(true);
-
- AssertionResult res = assertion.getResult(jmctx.getPreviousResult());
- log.debug(" res " + res.isError());
- log.debug(" failure " + res.getFailureMessage());
- assertFalse(res.isError());
- assertFalse(res.isFailure());
- }
-
- public void testValidationFailure() throws Exception {
- assertion.setXPathString("//row/value[@field = 'alias']");
- assertion.setNegated(false);
- assertion.setValidating(true);
- AssertionResult res = assertion.getResult(jmctx.getPreviousResult());
- log.debug(res.getFailureMessage() + " error: " + res.isError() + " failure: " + res.isFailure());
- assertTrue(res.isError());
- assertFalse(res.isFailure());
-
- }
-
- public void testValidationSuccess() throws Exception {
- String data = "<?xml version=\"1.0\"?>" + "<!DOCTYPE BOOK [" + "<!ELEMENT p (#PCDATA)>"
- + "<!ELEMENT BOOK (OPENER,SUBTITLE?,INTRODUCTION?,(SECTION | PART)+)>"
- + "<!ELEMENT OPENER (TITLE_TEXT)*>" + "<!ELEMENT TITLE_TEXT (#PCDATA)>"
- + "<!ELEMENT SUBTITLE (#PCDATA)>" + "<!ELEMENT INTRODUCTION (HEADER, p+)+>"
- + "<!ELEMENT PART (HEADER, CHAPTER+)>" + "<!ELEMENT SECTION (HEADER, p+)>"
- + "<!ELEMENT HEADER (#PCDATA)>" + "<!ELEMENT CHAPTER (CHAPTER_NUMBER, CHAPTER_TEXT)>"
- + "<!ELEMENT CHAPTER_NUMBER (#PCDATA)>" + "<!ELEMENT CHAPTER_TEXT (p)+>" + "]>" + "<BOOK>"
- + "<OPENER>" + "<TITLE_TEXT>All About Me</TITLE_TEXT>" + "</OPENER>" + "<PART>"
- + "<HEADER>Welcome To My Book</HEADER>" + "<CHAPTER>"
- + "<CHAPTER_NUMBER>CHAPTER 1</CHAPTER_NUMBER>" + "<CHAPTER_TEXT>"
- + "<p>Glad you want to hear about me.</p>" + "<p>There's so much to say!</p>"
- + "<p>Where should we start?</p>" + "<p>How about more about me?</p>" + "</CHAPTER_TEXT>"
- + "</CHAPTER>" + "</PART>" + "</BOOK>";
-
- result.setResponseData(data.getBytes());
- vars = new JMeterVariables();
- jmctx.setVariables(vars);
- jmctx.setPreviousResult(result);
- assertion.setXPathString("/");
- assertion.setValidating(true);
- AssertionResult res = assertion.getResult(result);
- assertFalse(res.isError());
- assertFalse(res.isFailure());
- }
-
- public void testValidationFailureWithDTD() throws Exception {
- String data = "<?xml version=\"1.0\"?>" + "<!DOCTYPE BOOK [" + "<!ELEMENT p (#PCDATA)>"
- + "<!ELEMENT BOOK (OPENER,SUBTITLE?,INTRODUCTION?,(SECTION | PART)+)>"
- + "<!ELEMENT OPENER (TITLE_TEXT)*>" + "<!ELEMENT TITLE_TEXT (#PCDATA)>"
- + "<!ELEMENT SUBTITLE (#PCDATA)>" + "<!ELEMENT INTRODUCTION (HEADER, p+)+>"
- + "<!ELEMENT PART (HEADER, CHAPTER+)>" + "<!ELEMENT SECTION (HEADER, p+)>"
- + "<!ELEMENT HEADER (#PCDATA)>" + "<!ELEMENT CHAPTER (CHAPTER_NUMBER, CHAPTER_TEXT)>"
- + "<!ELEMENT CHAPTER_NUMBER (#PCDATA)>" + "<!ELEMENT CHAPTER_TEXT (p)+>" + "]>" + "<BOOK>"
- + "<OPENER>" + "<TITLE_TEXT>All About Me</TITLE_TEXT>" + "</OPENER>" + "<PART>"
- + "<HEADER>Welcome To My Book</HEADER>" + "<CHAPTER>"
- + "<CHAPTER_NUMBER>CHAPTER 1</CHAPTER_NUMBER>" + "<CHAPTER_TEXT>"
- + "<p>Glad you want to hear about me.</p>" + "<p>There's so much to say!</p>"
- + "<p>Where should we start?</p>" + "<p>How about more about me?</p>" + "</CHAPTER_TEXT>"
- + "</CHAPTER>" + "<illegal>not defined in dtd</illegal>" + "</PART>" + "</BOOK>";
-
- result.setResponseData(data.getBytes());
- vars = new JMeterVariables();
- jmctx.setVariables(vars);
- jmctx.setPreviousResult(result);
- assertion.setXPathString("/");
- assertion.setValidating(true);
- AssertionResult res = assertion.getResult(result);
- log.debug("failureMessage: " + res.getFailureMessage());
- assertTrue(res.isError());
- assertFalse(res.isFailure());
- }
-
- public void testTolerance() throws Exception {
- String data = "<html><head><title>testtitle</title></head>" + "<body>"
- + "<p><i><b>invalid tag nesting</i></b><hr>" + "</body></html>";
-
- result.setResponseData(data.getBytes());
- vars = new JMeterVariables();
- jmctx.setVariables(vars);
- jmctx.setPreviousResult(result);
- assertion.setXPathString("/html/head/title");
- assertion.setValidating(true);
- assertion.setTolerant(true);
- AssertionResult res = assertion.getResult(result);
- log.debug("failureMessage: " + res.getFailureMessage());
- assertFalse(res.isFailure());
- assertFalse(res.isError());
- }
-
- public void testNoTolerance() throws Exception {
- String data = "<html><head><title>testtitle</title></head>" + "<body>"
- + "<p><i><b>invalid tag nesting</i></b><hr>" + "</body></html>";
-
- result.setResponseData(data.getBytes());
- vars = new JMeterVariables();
- jmctx.setVariables(vars);
- jmctx.setPreviousResult(result);
- assertion.setXPathString("/html/head/title");
- assertion.setValidating(false);
- assertion.setTolerant(false);
- AssertionResult res = assertion.getResult(result);
- log.debug("failureMessage: " + res.getFailureMessage());
- assertTrue(res.isError());
- assertFalse(res.isFailure());
- }
-
- public static void main(String[] args) {
- TestRunner.run(XPathAssertionTest.class);
- }
- }
}
Modified: jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/BeanShellServer.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/BeanShellServer.java?rev=349009&r1=349008&r2=349009&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/BeanShellServer.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/BeanShellServer.java Fri Nov 25 12:08:14 2005
@@ -1,6 +1,5 @@
-// $Header$
/*
- * Copyright 2003-2004 The Apache Software Foundation.
+ * Copyright 2003-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,8 +20,6 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import junit.framework.TestCase;
-
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -63,6 +60,7 @@
return JMeterUtils.getPropDefault(s, s);
}
+ // For use by the server script
private static void setprop(String s, String v) {
JMeterUtils.getJMeterProperties().setProperty(s, v);
}
@@ -101,29 +99,6 @@
log.error("Beanshell Interpreter not found");
} catch (Exception e) {
log.error("Problem starting BeanShell server ", e);
- }
- }
-
- public static class Test extends TestCase {
- // private static Logger log = LoggingManager.getLoggerForClass();
-
- public Test() {
- super();
- }
-
- public void testServer() throws Exception {
- BeanShellServer bshs = new BeanShellServer(9876, "");
- assertNotNull(bshs);
- // Not sure we can test anything else here
- }
-
- public void testProps() throws Exception {
- if (JMeterUtils.getJMeterProperties() != null) {// Can't test
- // standalone
- assertNotNull("Property user.dir should not be null", getprop("user.dir"));
- setprop("beanshelltest", "xyz");
- assertEquals("xyz", getprop("beanshelltest"));
- }
}
}
}
Modified: jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/StringUtilities.java
URL: http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/StringUtilities.java?rev=349009&r1=349008&r2=349009&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/StringUtilities.java (original)
+++ jakarta/jmeter/branches/rel-2-1/src/core/org/apache/jmeter/util/StringUtilities.java Fri Nov 25 12:08:14 2005
@@ -1,6 +1,5 @@
-// $Header$
/*
- * Copyright 2001-2004 The Apache Software Foundation.
+ * Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,8 +17,6 @@
package org.apache.jmeter.util;
-import junit.framework.TestCase;
-
/**
* @version $Revision$
*/
@@ -43,31 +40,4 @@
private StringUtilities() {
}
- public static class Test extends TestCase {
- public Test(String name) {
- super(name);
- }
-
- public void testSub1() throws Exception {
- String input = "http://jakarta.apache.org/jmeter/index.html";
- String pattern = "jakarta.apache.org";
- String sub = "${server}";
- assertEquals("http://${server}/jmeter/index.html", StringUtilities.substitute(input, pattern, sub));
- }
-
- public void testSub2() throws Exception {
- String input = "arg1=param1;param1";
- String pattern = "param1";
- String sub = "${value}";
- assertEquals("arg1=${value};${value}", StringUtilities.substitute(input, pattern, sub));
- }
-
- public void testSub3() throws Exception {
- String input = "jakarta.apache.org";
- String pattern = "jakarta.apache.org";
- String sub = "${server}";
- assertEquals("${server}", StringUtilities.substitute(input, pattern, sub));
- }
-
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org