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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 19 11:05:26 EDT 2008


Author: tfennelly
Date: 2008-09-19 11:05:26 -0400 (Fri, 19 Sep 2008)
New Revision: 22927

Added:
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/01-inrouter-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/02-service-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/03-outrouter-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/RoutingTest.java
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/01-inrouter-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/02-serviceA-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/03-serviceB-config.xml
   labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/RoutingTest.java
Log:
Added some more tests

Copied: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/01-inrouter-config.xml (from rev 22925, labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_001/01-inrouter-config.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/01-inrouter-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/01-inrouter-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,9 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters serviceCategory="Service" serviceName="A">
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter" />
+        </inRouters>
+    </routing>
+
+</jbossesb>
\ No newline at end of file

Copied: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/02-service-config.xml (from rev 22925, labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_001/02-service-config.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/02-service-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/02-service-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,20 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <services>
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+    </services>
+
+    <routing>
+        <!--
+            Route the message from A to B....
+        -->
+        <outRouters serviceCategory="Service" serviceName="A">
+            <outRouter name="A_to_B_router" class="org.jboss.esb.ServiceRouter">
+                <property name="toCategory">Service</property>
+                <property name="toService">B</property>
+            </outRouter>
+        </outRouters>
+    </routing>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/02-service-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:mergeinfo
   + 
Name: svn:eol-style
   + native

Copied: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/03-outrouter-config.xml (from rev 22925, labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_001/03-outrouter-config.xml)
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/03-outrouter-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/03-outrouter-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,9 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <outRouters serviceCategory="Service" serviceName="B">
+            <outRouter name="outrouter" class="org.jboss.esb.TestOutboundRouter" />
+        </outRouters>
+    </routing>
+    
+</jbossesb>
\ No newline at end of file

Copied: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/RoutingTest.java (from rev 22925, labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_001/RoutingTest.java)
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_002/RoutingTest.java	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright XXXX, 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.scenario_002;
+
+import junit.framework.TestCase;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestOutboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.jms.JMSTestRunner;
+import org.jboss.esb.service.ServiceName;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /*
+     * This is a simple scenario where there are 3 deployments all connected into the same bus:
+     * 1. "inrouterDeployment" defines an inrouter for "Service:A".
+     * 2. "serviceDeployment" defines service instances for "Service:A" and "Service:B". It
+     *    also defines a router from "Service:A" to "Service:B".
+     * 3. "outrouterDeployment" defines an outrouter for "Service:B".
+     *
+     * So the message should go (across the 3 deployments):
+     *    [inrouter_ServiceA] -> [ServiceA -> ServiceB] -> [outrouter_ServiceB] 
+     *
+     */
+    public void test() throws Exception
+    {
+        new JMSTestRunner() {
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime outrouterDeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("03-outrouter-config.xml"));
+
+                outrouterDeployment.setDeploymentName("outrouter");
+                outrouterDeployment.deploy();
+                try
+                {
+                    DeploymentRuntime serviceDeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("02-service-config.xml"));
+
+                    serviceDeployment.setDeploymentName("service");
+                    serviceDeployment.deploy();
+                    try
+                    {
+                        DeploymentRuntime inrouterDeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-inrouter-config.xml"));
+
+                        inrouterDeployment.setDeploymentName("inrouter");
+                        inrouterDeployment.deploy();
+                        Thread.sleep(300); // Allow the deployments to exchange deployment details
+                        try
+                        {
+                            TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter(serviceNameA, "inrouter", inrouterDeployment).getRouter();
+                            TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, serviceDeployment).getService();
+                            TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, serviceDeployment).getService();
+                            TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameB, "outrouter", outrouterDeployment).getRouter();
+
+                            inrouter.sendMessage("Hi there!!");
+                            Thread.sleep(300); // Allow the message to be delivered
+
+                            // 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());
+                            assertEquals("Hi there!!", serviceB.getMessage());
+                            assertEquals("Hi there!!", outrouter.getMessage());
+                        }
+                        finally
+                        {
+                            inrouterDeployment.undeploy();
+                        }
+                    }
+                    finally
+                    {
+                        serviceDeployment.undeploy();
+                    }
+                }
+                finally
+                {
+                    outrouterDeployment.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


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

Added: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/01-inrouter-config.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/01-inrouter-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/01-inrouter-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,9 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <routing>
+        <inRouters serviceCategory="Service" serviceName="A">
+            <inRouter name="inrouter" class="org.jboss.esb.TestInboundRouter" />
+        </inRouters>
+    </routing>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/01-inrouter-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/02-serviceA-config.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/02-serviceA-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/02-serviceA-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,19 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+    
+    <services>
+        <service serviceCategory="Service" serviceName="A" serviceDescription="A Service" class="org.jboss.esb.TestService" />
+    </services>
+
+    <routing>
+        <!--
+            Route the message from A to B....
+        -->
+        <outRouters serviceCategory="Service" serviceName="A">
+            <outRouter name="A_to_B_router" class="org.jboss.esb.ServiceRouter">
+                <property name="toCategory">Service</property>
+                <property name="toService">B</property>
+            </outRouter>
+        </outRouters>
+    </routing>
+
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/02-serviceA-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/03-serviceB-config.xml
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/03-serviceB-config.xml	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/03-serviceB-config.xml	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,13 @@
+<jbossesb xmlns="http://www.jboss.org/jbossesb/xsd/jbossesb-5.0.xsd">
+
+    <services>
+        <service serviceCategory="Service" serviceName="B" serviceDescription="B Service" class="org.jboss.esb.TestService" />
+    </services>
+
+    <routing>
+        <outRouters serviceCategory="Service" serviceName="B">
+            <outRouter name="outrouter" class="org.jboss.esb.TestOutboundRouter" />
+        </outRouters>
+    </routing>
+    
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/03-serviceB-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/RoutingTest.java
===================================================================
--- labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/RoutingTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/skeagh/routing/esb/src/test/java/org/jboss/esb/scenario_003/RoutingTest.java	2008-09-19 15:05:26 UTC (rev 22927)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright XXXX, 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.scenario_003;
+
+import junit.framework.TestCase;
+import org.jboss.esb.deploy.DeploymentRuntime;
+import org.jboss.esb.deploy.DeploymentUtil;
+import org.jboss.esb.TestInboundRouter;
+import org.jboss.esb.TestOutboundRouter;
+import org.jboss.esb.TestService;
+import org.jboss.esb.jms.JMSTestRunner;
+import org.jboss.esb.service.ServiceName;
+
+/**
+ * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
+ */
+public class RoutingTest extends TestCase
+{
+
+    /*
+     * This is a simple scenario where there are 3 deployments all connected into the same bus:
+     * 1. "inrouterDeployment" defines an inrouter for "Service:A".
+     * 2. "serviceADeployment" defines a service instance for "Service:A". It
+     *    also defines a router from "Service:A" to "Service:B".
+     * 3. "serviceBDeployment" defines a service instance for "Service:B". It also
+     *    defines an outrouter for "Service:B".
+     *
+     * So the message should go (across the 3 deployments):
+     *    [inrouter_ServiceA] -> [ServiceA] -> [ServiceB -> outrouter_ServiceB]
+     *
+     */
+    public void test() throws Exception
+    {
+        new JMSTestRunner() {
+            public void test() throws Exception
+            {
+                ServiceName serviceNameA = new ServiceName("Service", "A");
+                ServiceName serviceNameB = new ServiceName("Service", "B");
+                DeploymentRuntime serviceBDeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("03-serviceB-config.xml"));
+
+                serviceBDeployment.setDeploymentName("outrouter");
+                serviceBDeployment.deploy();
+                try
+                {
+                    DeploymentRuntime serviceADeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("02-serviceA-config.xml"));
+
+                    serviceADeployment.setDeploymentName("service");
+                    serviceADeployment.deploy();
+                    try
+                    {
+                        DeploymentRuntime inrouterDeployment = DeploymentUtil.createRuntime(getClass().getResourceAsStream("01-inrouter-config.xml"));
+
+                        inrouterDeployment.setDeploymentName("inrouter");
+                        inrouterDeployment.deploy();
+                        Thread.sleep(300); // Allow the deployments to exchange deployment details
+                        try
+                        {
+                            TestInboundRouter inrouter = (TestInboundRouter) DeploymentUtil.getInboundRouter(serviceNameA, "inrouter", inrouterDeployment).getRouter();
+                            TestService serviceA = (TestService) DeploymentUtil.getService(serviceNameA, serviceADeployment).getService();
+                            TestService serviceB = (TestService) DeploymentUtil.getService(serviceNameB, serviceBDeployment).getService();
+                            TestOutboundRouter outrouter = (TestOutboundRouter) DeploymentUtil.getOutboundRouter(serviceNameB, "outrouter", serviceBDeployment).getRouter();
+
+                            inrouter.sendMessage("Hi there!!");
+                            Thread.sleep(300); // Allow the message to be delivered
+
+                            // 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());
+                            assertEquals("Hi there!!", serviceB.getMessage());
+                            assertEquals("Hi there!!", outrouter.getMessage());
+                        }
+                        finally
+                        {
+                            inrouterDeployment.undeploy();
+                        }
+                    }
+                    finally
+                    {
+                        serviceADeployment.undeploy();
+                    }
+                }
+                finally
+                {
+                    serviceBDeployment.undeploy();
+                }
+            }
+        }.run();
+    }
+}
\ No newline at end of file


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




More information about the jboss-svn-commits mailing list