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 2009/05/05 17:47:30 UTC

svn commit: r771840 - in /jakarta/jmeter/trunk: src/components/org/apache/jmeter/assertions/ test/src/org/apache/jmeter/assertions/

Author: sebb
Date: Tue May  5 15:47:30 2009
New Revision: 771840

URL: http://svn.apache.org/viewvc?rev=771840&view=rev
Log:
Complete the refactoring of the package test

Added:
    jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/MD5HexAssertionTest.java
      - copied, changed from r771802, jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/PackageTest.java
Removed:
    jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/PackageTest.java
Modified:
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
    jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=771840&r1=771839&r2=771840&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Tue May  5 15:47:30 2009
@@ -38,7 +38,7 @@
 import org.apache.oro.text.regex.Perl5Compiler;
 import org.apache.oro.text.regex.Perl5Matcher;
 
-// @see org.apache.jmeter.assertions.PackageTest for unit tests
+// @see org.apache.jmeter.assertions.ResponseAssertionTest for unit tests
 
 /**
  * Test element to handle Response Assertions, @see AssertionGui

Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java?rev=771840&r1=771839&r2=771840&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java Tue May  5 15:47:30 2009
@@ -27,7 +27,7 @@
 import org.apache.jmeter.testelement.property.LongProperty;
 import org.apache.jmeter.util.JMeterUtils;
 
-//@see org.apache.jmeter.assertions.PackageTest for unit tests
+//@see org.apache.jmeter.assertions.SizeAssertionTest for unit tests
 
 /**
  * Checks if the results of a Sample matches a particular size.

Copied: jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/MD5HexAssertionTest.java (from r771802, jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/PackageTest.java)
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/MD5HexAssertionTest.java?p2=jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/MD5HexAssertionTest.java&p1=jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/PackageTest.java&r1=771802&r2=771840&rev=771840&view=diff
==============================================================================
--- jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/PackageTest.java (original)
+++ jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/MD5HexAssertionTest.java Tue May  5 15:47:30 2009
@@ -18,25 +18,14 @@
 
 package org.apache.jmeter.assertions;
 
-import java.net.MalformedURLException;
-import java.net.URL;
-
 import junit.framework.TestCase;
+public class MD5HexAssertionTest extends TestCase {
 
-import org.apache.jmeter.junit.JMeterTestCase;
-import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.threads.JMeterContext;
-import org.apache.jmeter.threads.JMeterContextService;
-import org.apache.jmeter.threads.JMeterVariables;
-import org.apache.jorphan.logging.LoggingManager;
-import org.apache.log.Logger;
-public class PackageTest extends TestCase {
-
-	public PackageTest() {
+	public MD5HexAssertionTest() {
 		super();
 	}
 
-	public PackageTest(String arg0) {
+	public MD5HexAssertionTest(String arg0) {
 		super(arg0);
 	}
 
@@ -44,215 +33,4 @@
 		assertEquals("D41D8CD98F00B204E9800998ECF8427E", MD5HexAssertion.baMD5Hex(new byte[] {}).toUpperCase(java.util.Locale.ENGLISH));
 	}
 
-	volatile int threadsRunning;
-
-	volatile int failed;
-
-	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();
-			assertion.setTestFieldResponseData();
-			assertion.setToContainsType();
-			assertion.addTestString(TEST_PATTERN);
-			SampleResult response = new SampleResult();
-			response.setResponseData(TEST_STRING.getBytes());
-			for (int i = 0; i < 100; i++) {
-				AssertionResult result;
-				result = assertion.getResult(response);
-				if (result.isFailure() || result.isError()) {
-					failed++;
-				}
-			}
-			synchronized (PackageTest.this) {
-				threadsRunning--;
-				PackageTest.this.notifyAll();
-			}
-		}
-	}
-	
-	public static class XPathAssertionTest extends TestCase {
-		private static final Logger log = LoggingManager.getLoggerForClass();
-
-		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());
-		}
-
-	}
-
-
 }

Modified: jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java?rev=771840&r1=771839&r2=771840&view=diff
==============================================================================
--- jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java (original)
+++ jakarta/jmeter/trunk/test/src/org/apache/jmeter/assertions/ResponseAssertionTest.java Tue May  5 15:47:30 2009
@@ -191,4 +191,53 @@
         assertTrue("Expecting failure",result.isFailure());     
         
     }
+    volatile int threadsRunning;
+
+    volatile int failed;
+
+    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();
+            assertion.setTestFieldResponseData();
+            assertion.setToContainsType();
+            assertion.addTestString(TEST_PATTERN);
+            SampleResult response = new SampleResult();
+            response.setResponseData(TEST_STRING.getBytes());
+            for (int i = 0; i < 100; i++) {
+                AssertionResult result;
+                result = assertion.getResult(response);
+                if (result.isFailure() || result.isError()) {
+                    failed++;
+                }
+            }
+            synchronized (ResponseAssertionTest.this) {
+                threadsRunning--;
+                ResponseAssertionTest.this.notifyAll();
+            }
+        }
+    }
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org