[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