Added:
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorPerformanceTest.java
Modified:
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorTest.java
Log:
Added MediatorActivityMonitorPerformanceTest.java
Added:
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorPerformanceTest.java
==============================================================================
--- (empty file)
+++
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorPerformanceTest.java
Wed Jan 14 08:43:55 2009
@@ -0,0 +1,77 @@
+package org.sciflex.plugins.synapse.esper.mediators.monitors;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import
org.sciflex.plugins.synapse.esper.mediators.monitors.MediatorActivityMonitorTest;
+import com.clarkware.junitperf.TimedTest;
+import com.clarkware.junitperf.LoadTest;
+
+
+public class MediatorActivityMonitorPerformanceTest {
+
+
+ public static Test suite() {
+
+ TestSuite suite = new TestSuite();
+ suite.addTest(timedTest());
+ //suite.addTest(throughPutUnderLoadTest());
+ // suite.addTest(responseTimeUnderLoadTest());
+ return suite;
+ }
+
+
+
+
+ /**
+ * timed test that waits for the completion of the
MediatorActivityMonitorTest.testActivityMonitorForXMLMediator()
+ * method and then fails if the elapsed time exceeded 1 second
+ * @return
+ */
+ public static Test timedTest() {
+ long maxElapsedTime = 5000;
+
+ Test testCase = new
MediatorActivityMonitorTest("testActivityMonitorForXMLMediator");
+ Test timedTest = new TimedTest(testCase, maxElapsedTime,false);
+
+ return timedTest;
+ }
+
+
+
+ /**
+ * The LoadTest adds 10 concurrent users without delay.,
+ * with each user running the test method once
+ * The LoadTest itself is decorated with a TimedTest to test the
throughput
+ * The test will fail if the total elapsed time of the entire load
test exceeds 1.5 seconds
+ * @return
+ */
+ public static Test throughPutUnderLoadTest() {
+
+ int maxUsers = 5;
+ long maxElapsedTime = 5000;
+
+ Test testCase = new
MediatorActivityMonitorTest("testActivityMonitorForXMLMediator");
+ Test loadTest = new LoadTest(testCase, maxUsers);
+ Test timedTest = new TimedTest(testCase, maxElapsedTime,false);
+
+ return timedTest;
+ }
+
+ /**
+ * LoadTest then decorates the TimedTest to simulate a 10-user
load on the testActivityMonitorForXMLMediator method.
+ * The test will fail if any user's response time exceeds 1 second
+ * @return
+ */
+ public static Test responseTimeUnderLoadTest(){
+ int maxUsers = 10;
+ long maxElapsedTime = 5000;
+
+ Test testCase = new
MediatorActivityMonitorTest("testActivityMonitorForXMLMediator");
+ Test timedTest = new TimedTest(testCase, maxElapsedTime);
+ Test loadTest = new LoadTest(timedTest, maxUsers);
+ return loadTest;
+
+ }
+
+
+}
Modified:
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorTest.java
==============================================================================
---
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorTest.java
(original)
+++
plugins/synapse/esper/trunk/java/mediators/src/test/java/org/sciflex/plugins/synapse/esper/mediators/monitors/MediatorActivityMonitorTest.java
Wed Jan 14 08:43:55 2009
@@ -14,6 +14,7 @@
import
org.sciflex.plugins.synapse.esper.mediators.listener.SuccessAwareSynapseListener;
import org.sciflex.plugins.synapse.esper.mediators.*;
import
org.sciflex.plugins.synapse.esper.mediators.axiom.ConfigurationAwareAxiomMediator;
+import
org.sciflex.plugins.synapse.esper.mediators.axiom.AxiomMediatorPerformanceTest;
import
org.sciflex.plugins.synapse.esper.mediators.helpers.EPLStatementHelper;
import org.sciflex.plugins.synapse.esper.mediators.editors.StaticEPLEditor;
import
org.sciflex.plugins.synapse.esper.mediators.xml.ConfigurationAwareXMLMediator;
@@ -47,6 +48,12 @@
private String instanceURI_2
= "http://localhost:9999/soap/EventListener";
private String instanceURI
= "http://localhost:9999/soap/AxiomEventListener";
private Entry prop;
+
+
+ public MediatorActivityMonitorTest(String name) {
+ super(name);
+ }
+
/**
* Associated EPServiceProvider instance.
* @see com.espertech.esper.client.EPServiceProvider
@@ -246,8 +253,6 @@
assertTrue("Mediator is not active", mediatorActiveTime != 0);
-
-
}
@@ -324,7 +329,6 @@
mediatorActive_2 = activityMonitor_2.getIsMediatorActive();
assertTrue("mediator has not stoped yet", !mediatorActive_2);
-
}
/**
* tests mediator refreshing mechanism
@@ -349,7 +353,6 @@
}
-
/**
* tests mediator active time mechanism
*/
@@ -379,8 +382,12 @@
}
-
-
+ /**
+ * testSuite to test elapsed time and load under simultanious users.
+ */
+ public void testPerformance(){
+
junit.textui.TestRunner.run(MediatorActivityMonitorPerformanceTest.suite());
+ }
}