[jboss-svn-commits] JBL Code SVN: r23241 - in labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb: routing and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 1 07:32:22 EDT 2008


Author: tfennelly
Date: 2008-10-01 07:32:22 -0400 (Wed, 01 Oct 2008)
New Revision: 23241

Added:
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_011/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_012/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_013/
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_014/
Modified:
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestOutboundRouter.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_001/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_002/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_003/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_004/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_009/RoutingTest.java
   labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_010/RoutingTest.java
Log:
Implemented a "waitForMessage method on the test components.  Not using sleeps anymore.

Added: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2008, JBoss Inc.
+ */
+package org.jboss.esb;
+
+import junit.framework.TestCase;
+import org.jboss.esb.history.ProcessingEventLog;
+import org.jboss.esb.context.InvocationContext;
+import org.jboss.esb.context.AddressingContext;
+import org.jboss.esb.context.DeploymentContext;
+import org.jboss.esb.message.Message;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public abstract class ESBTestComponent
+{
+    public String message;
+    public static InvocationContext invocationContext;
+    public static AddressingContext addressingContext;
+    public static DeploymentContext deploymentContext;
+    public ProcessingEventLog eventLog;
+    public long sleep = 0L;
+
+    public void setSleep(long sleep)
+    {
+        this.sleep = sleep;
+    }
+
+    public String getMessage()
+    {
+        return message;
+    }
+
+    public void waitForMessage(long timeout)
+    {
+        long start = System.currentTimeMillis();
+
+        while (message == null)
+        {
+            if (message != null)
+            {
+                return;
+            }
+
+            // check the timeout...
+            if (System.currentTimeMillis() > start + timeout)
+            {
+                TestCase.fail("Timed out waiting for message to arrive.");
+            }
+
+            try
+            {
+                Thread.sleep(100);
+            }
+            catch (InterruptedException e)
+            {
+                TestCase.fail("Thread interrupted while waiting for message to arrive.");
+            }
+        }
+    }
+
+    public ProcessingEventLog getEventLog()
+    {
+        return eventLog;
+    }
+
+    protected void captureData(Message message)
+    {
+        this.message = (String) message.getPayload();
+        invocationContext = InvocationContext.getContext();
+        addressingContext = AddressingContext.getContext();
+        deploymentContext = DeploymentContext.getContext();
+        eventLog = ProcessingEventLog.getEventLog();
+    }
+
+    protected void sleep()
+    {
+        try
+        {
+            Thread.sleep(sleep);
+        }
+        catch (InterruptedException e)
+        {
+            TestCase.fail("Thread interrupted while waiting on message.");
+        }
+    }
+}


Property changes on: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/ESBTestComponent.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestOutboundRouter.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestOutboundRouter.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestOutboundRouter.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -19,57 +19,19 @@
  */
 package org.jboss.esb;
 
-import org.jboss.esb.context.AddressingContext;
-import org.jboss.esb.context.DeploymentContext;
-import org.jboss.esb.context.InvocationContext;
 import org.jboss.esb.message.Message;
-import org.jboss.esb.history.ProcessingEventLog;
 import org.jboss.esb.routing.OutboundRouter;
 import org.jboss.esb.routing.RoutingException;
 
 /**
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class TestOutboundRouter implements OutboundRouter
+public class TestOutboundRouter extends ESBTestComponent implements OutboundRouter
 {
-    private String message;
-    public static InvocationContext invocationContext;
-    public static AddressingContext addressingContext;
-    public static DeploymentContext deploymentContext;
-    private ProcessingEventLog eventLog;
-    private long sleep = 0L;
-
+    
     public void route(Message message) throws RoutingException
     {
-        try
-        {
-            Thread.sleep(sleep);
-        }
-        catch (InterruptedException e)
-        {
-            e.printStackTrace();
-        }
-
-        this.message = (String) message.getPayload();
-        invocationContext = InvocationContext.getContext();
-        addressingContext = AddressingContext.getContext();
-        deploymentContext = DeploymentContext.getContext();
-
-        eventLog = ProcessingEventLog.getEventLog();
+        sleep();
+        captureData(message);
     }
-
-    public void setSleep(long sleep)
-    {
-        this.sleep = sleep;
-    }
-
-    public String getMessage()
-    {
-        return message;
-    }
-
-    public ProcessingEventLog getEventLog()
-    {
-        return eventLog;
-    }
 }
\ No newline at end of file

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/TestService.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -19,65 +19,20 @@
  */
 package org.jboss.esb;
 
+import org.jboss.esb.message.Message;
 import org.jboss.esb.service.Service;
 import org.jboss.esb.service.ServiceException;
-import org.jboss.esb.message.Message;
-import org.jboss.esb.context.InvocationContext;
-import org.jboss.esb.context.AddressingContext;
-import org.jboss.esb.context.DeploymentContext;
-import org.jboss.esb.history.ProcessingEventLog;
 
 /**
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  */
-public class TestService implements Service
+public class TestService extends ESBTestComponent implements Service
 {
-    private String message;
-    private String messageAppendage;
-    public static InvocationContext invocationContext;
-    public static AddressingContext addressingContext;
-    public static DeploymentContext deploymentContext;
-    private ProcessingEventLog eventLog;
-    private long sleep = 0L;
-
     public Message process(Message message) throws ServiceException
     {
-        try
-        {
-            Thread.sleep(sleep);
-        }
-        catch (InterruptedException e)
-        {
-            e.printStackTrace();
-        }
+        sleep();
+        captureData(message);
 
-        this.message = (String) message.getPayload();
-        invocationContext = InvocationContext.getContext();
-        addressingContext = AddressingContext.getContext();
-        deploymentContext = DeploymentContext.getContext();
-
-        eventLog = ProcessingEventLog.getEventLog();
-
         return message;
     }
-
-    public void setMessageAppendage(String messageAppendage)
-    {
-        this.messageAppendage = messageAppendage;
-    }
-
-    public void setSleep(long sleep)
-    {
-        this.sleep = sleep;
-    }
-
-    public String getMessage()
-    {
-        return message;
-    }
-
-    public ProcessingEventLog getEventLog()
-    {
-        return eventLog;
-    }
 }
\ No newline at end of file

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_001/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_001/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_001/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -20,14 +20,12 @@
 package org.jboss.esb.routing.scenario_001;
 
 import junit.framework.TestCase;
-
-import org.jboss.esb.context.InvocationContext;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestOutboundRouter;
+import org.jboss.esb.TestService;
 import org.jboss.esb.deploy.DeploymentRuntime;
 import org.jboss.esb.deploy.DeploymentUtil;
 import org.jboss.esb.jms.JmsTestRunner;
-import org.jboss.esb.TestInboundRouter;
-import org.jboss.esb.TestOutboundRouter;
-import org.jboss.esb.TestService;
 import org.jboss.esb.service.ServiceName;
 
 /**
@@ -71,8 +69,10 @@
                             TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceA, "outrouter", outrouterDeployment).getRouter();
 
                             inrouter.sendMessage("Hi there!!");
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            service.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", service.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_002/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_002/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_002/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -72,8 +72,11 @@
                             TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameB, "outrouter", outrouterDeployment).getRouter();
 
                             inrouter.sendMessage("Hi there!!");
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceB.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_003/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_003/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_003/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -71,8 +71,11 @@
                             TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameB, "outrouter", serviceBDeployment).getRouter();
 
                             inrouter.sendMessage("Hi there!!");
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceB.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_004/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_004/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_004/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -61,8 +61,9 @@
                         TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameA, "outrouter", outrouterDeployment).getRouter();
 
                         inrouter.sendMessage("Hi there!!");
-                        Thread.sleep(300); // Allow the message to be delivered
 
+                        outrouter.waitForMessage(10000);
+
                         // Check that the message has been routed across deployments, from the inrouter
                         // to the service instance and then to the outrouter...
                         assertEquals("Hi there!!", outrouter.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_006/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -77,8 +77,12 @@
 
                             // Force propagation of the event log...
                             inrouter.sendMessage("Hi there!!", true);
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceB.waitForMessage(10000);
+                            serviceC.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/01-deployment.xml	2008-10-01 11:32:22 UTC (rev 23241)
@@ -1,4 +1,3 @@
-
 <jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
     
     <services>

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_007/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -76,8 +76,10 @@
 
                             // Force propagation of the event log...
                             inrouter.sendMessage("Hi there!!", true);
-                            Thread.sleep(1000); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceF.waitForMessage(10000);
+                            
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_008/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -76,8 +76,11 @@
                             TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameA, "outrouter", deployment2).getRouter();
 
                             inrouter.sendMessage("Hi there!!", true);
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceB.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_009/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_009/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_009/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -76,8 +76,11 @@
                             TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameA, "outrouter", deployment2).getRouter();
 
                             inrouter.sendMessage("Hi there!!", true);
-                            Thread.sleep(300); // Allow the message to be delivered
 
+                            serviceA.waitForMessage(10000);
+                            serviceB.waitForMessage(10000);
+                            outrouter.waitForMessage(10000);
+
                             // Check that the message has been routed across deployments, from the inrouter
                             // to the service instance and then to the outrouter...
                             assertEquals("Hi there!!", serviceA.getMessage());

Modified: labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_010/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_010/RoutingTest.java	2008-10-01 10:50:25 UTC (rev 23240)
+++ labs/jbossesb/workspace/skeagh/runtime/src/test/java/org/jboss/esb/routing/scenario_010/RoutingTest.java	2008-10-01 11:32:22 UTC (rev 23241)
@@ -68,8 +68,11 @@
                         TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameA, "outrouter", deployment2).getRouter();
 
                         inrouter.sendMessage("Hi there!!", true);
-                        Thread.sleep(300); // Allow the message to be delivered
 
+                        serviceA.waitForMessage(10000);
+                        serviceB.waitForMessage(10000);
+                        outrouter.waitForMessage(10000);
+
                         // Check that the message has been routed across deployments, from the inrouter
                         // to the service instance and then to the outrouter...
                         assertEquals("Hi there!!", serviceA.getMessage());




More information about the jboss-svn-commits mailing list