[jboss-svn-commits] JBL Code SVN: r10923 - in labs/jbossesb/trunk/product/core: listeners/src/org/jboss/soa/esb/listeners/config and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Apr 12 10:35:04 EDT 2007


Author: tfennelly
Date: 2007-04-12 10:35:04 -0400 (Thu, 12 Apr 2007)
New Revision: 10923

Added:
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MockContractPublisher.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MyPublishedAction.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.xml
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.xml
   labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/
   labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/ContractInfoUnitTest.java
Modified:
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisher.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
   labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java
Log:
added a few tests for some of the webservices stuff

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisher.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisher.java	2007-04-12 13:54:09 UTC (rev 10922)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/soap/JBossWSAdapterContractPublisher.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -105,8 +105,7 @@
         ByteArrayOutputStream wsdlStream =  new ByteArrayOutputStream();
 
         // Now, fudge it to fix up the binding transport and endpoint addressing info...
-        Document wsdlDoc = YADOMUtil.parseStream(
-                new ByteArrayInputStream(wsdl.getBytes("UTF-8")), false, false);
+        Document wsdlDoc = YADOMUtil.parseStream(new ByteArrayInputStream(wsdl.getBytes("UTF-8")), false, false);
         Attr transport = (Attr) XmlUtil.getNode(wsdlDoc, "/definitions/binding/binding/@transport");
         Attr address = (Attr) XmlUtil.getNode(wsdlDoc, "/definitions/service/port/address/@location");
 

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java	2007-04-12 13:54:09 UTC (rev 10922)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -91,6 +91,11 @@
         servicePublishers.put(controller, publishers);
     }
 
+    /**
+     * Get the full list of publishers registered against all active {@link ManagedLifecycleController}
+     * instances.
+     * @return The full list of publishers.
+     */
     public static List<ServicePublisher> getServicePublishers() {
         List<ServicePublisher> publishers = new ArrayList<ServicePublisher>();
         Collection<List<ServicePublisher>> allPublishers = servicePublishers.values();

Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java	2007-04-12 13:54:09 UTC (rev 10922)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/lifecycle/ManagedLifecycleController.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -22,6 +22,8 @@
 package org.jboss.soa.esb.listeners.lifecycle;
 
 import java.util.Collection;
+import java.util.ArrayList;
+import java.util.Set;
 
 import javax.jms.JMSException;
 
@@ -53,8 +55,11 @@
     */
    public ManagedLifecycleController(final Collection<ManagedLifecycle> lifecycles)
    {
-      final int numInstances = (lifecycles == null ? 0 : lifecycles.size());
-      instances = lifecycles.toArray(new ManagedLifecycle[numInstances]);
+      if(lifecycles == null) {
+          instances = new ManagedLifecycle[0];
+      } else {
+          instances = lifecycles.toArray(new ManagedLifecycle[lifecycles.size()]);
+      }
       lifecycleIdentity = LifecycleIdentity.getSingleton().getNextLifecycleIdentity() ;
       CourierFactory.initialiseLifecycleIdentityMap(lifecycleIdentity) ;
    }

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MockContractPublisher.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MockContractPublisher.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MockContractPublisher.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,20 @@
+package org.jboss.soa.esb.listeners.config;
+
+import org.jboss.internal.soa.esb.publish.ActionContractPublisher;
+import org.jboss.internal.soa.esb.publish.ContractInfo;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.addressing.EPR;
+
+/**
+ * @author
+ */
+public class MockContractPublisher implements ActionContractPublisher {
+    public static ContractInfo contractInfo;
+
+    public void setActionConfig(ActionDocument.Action actionConfig) throws ConfigurationException {
+    }
+
+    public ContractInfo getContractInfo(EPR epr) {
+        return contractInfo;
+    }
+}


Property changes on: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MockContractPublisher.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MyPublishedAction.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MyPublishedAction.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MyPublishedAction.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,17 @@
+package org.jboss.soa.esb.listeners.config;
+
+import org.jboss.soa.esb.actions.ActionPipelineProcessor;
+import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.internal.soa.esb.publish.Publish;
+
+/**
+ * @author
+ */
+ at Publish(MockContractPublisher.class)
+public class MyPublishedAction extends AbstractActionPipelineProcessor {
+    public Message process(final Message message) throws ActionProcessingException {
+        return null;
+    }
+}


Property changes on: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/MyPublishedAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,50 @@
+package org.jboss.soa.esb.listeners.config;
+
+import junit.framework.TestCase;
+import org.jboss.soa.esb.ConfigurationException;
+import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
+
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * @author
+ */
+public class ServicePublisherUnitTest extends TestCase {
+
+    public void test() throws ConfigurationException, IOException {
+        Generator generator;
+        ManagedLifecycleController controller1 = new ManagedLifecycleController(null); // TODO: Introduce an interface and Mock for ManagedLifecycleController
+        ManagedLifecycleController controller2 = new ManagedLifecycleController(null); // TODO: Introduce an interface and Mock for ManagedLifecycleController
+
+        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_04.xml"));
+        ServicePublisher.addServicePublishers(controller1, generator.getModel());
+        List<ServicePublisher> publishers = ServicePublisher.getServicePublishers();
+        assertEquals(2, publishers.size());
+        assertEquals("A1", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
+        assertEquals(null, publishers.get(0).getContractPublisher());
+        assertEquals("B2", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
+        assertEquals(null, publishers.get(1).getContractPublisher());
+
+        generator = new Generator(getClass().getResourceAsStream("jbossesb_config_05.xml"));
+        ServicePublisher.addServicePublishers(controller2, generator.getModel());
+        publishers = ServicePublisher.getServicePublishers();
+        assertEquals(4, publishers.size());
+        assertEquals("A1", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
+        assertEquals(null, publishers.get(0).getContractPublisher());
+        assertEquals("B2", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
+        assertEquals(null, publishers.get(1).getContractPublisher());
+        assertEquals("C3", publishers.get(2).getCategory() + publishers.get(2).getServiceName());
+        assertEquals(null, publishers.get(2).getContractPublisher());
+        assertEquals("D4", publishers.get(3).getCategory() + publishers.get(3).getServiceName());
+        assertTrue(publishers.get(3).getContractPublisher() instanceof MockContractPublisher);
+
+        ServicePublisher.removeServicePublishers(controller1);
+        publishers = ServicePublisher.getServicePublishers();
+        assertEquals(2, publishers.size());
+        assertEquals("C3", publishers.get(0).getCategory() + publishers.get(0).getServiceName());
+        assertEquals(null, publishers.get(0).getContractPublisher());
+        assertEquals("D4", publishers.get(1).getCategory() + publishers.get(1).getServiceName());
+        assertTrue(publishers.get(1).getContractPublisher() instanceof MockContractPublisher);
+    }
+}


Property changes on: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/ServicePublisherUnitTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.xml	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,40 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+	<providers>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-1" port="8765" />
+        </jbr-provider>
+
+	</providers>
+	<services>
+
+        <service category="A" name="1" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+			</listeners>
+			  
+			<actions>    	    
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+        <service category="B" name="2" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+			</listeners>
+
+			<actions>
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+
+    </services>
+	
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_04.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.xml
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.xml	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,40 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd">
+
+	<providers>
+
+        <jbr-provider name="JBR" host="192.168.1.111" protocol="http">
+            <jbr-bus busid="HTTP-1" port="8765" />
+        </jbr-provider>
+
+	</providers>
+	<services>
+
+        <service category="C" name="3" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+			</listeners>
+			  
+			<actions>    	    
+				<action name="a1" class="org.jboss.soa.esb.actions.converters.ByteArrayToString" />
+			</actions>
+		</service>
+        <service category="D" name="4" description="A1">
+			<listeners>
+                <jbr-listener name="A1-HTTP"
+                    busidref="HTTP-1"
+                    maxThreads="1"
+                    is-gateway="true"/>
+			</listeners>
+
+			<actions>
+				<action name="a1" class="org.jboss.soa.esb.listeners.config.MyPublishedAction" />
+			</actions>
+		</service>
+
+    </services>
+	
+</jbossesb>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_05.xml
___________________________________________________________________
Name: svn:mime-type
   + text/xml
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/ContractInfoUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/ContractInfoUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/ContractInfoUnitTest.java	2007-04-12 14:35:04 UTC (rev 10923)
@@ -0,0 +1,29 @@
+package org.jboss.internal.soa.esb.publish;
+
+import junit.framework.TestCase;
+
+/**
+ * @author
+ */
+public class ContractInfoUnitTest extends TestCase {
+
+    public void test() {
+        assertContractorArgChecksOK(null, "a");
+        assertContractorArgChecksOK(" ", "a");
+        assertContractorArgChecksOK("a", null);
+        assertContractorArgChecksOK("a", " ");
+
+        ContractInfo contractInfo = new ContractInfo("mime", "data");
+        assertEquals("mime", contractInfo.getMimeType());
+        assertEquals("data", contractInfo.getData());
+    }
+
+    private void assertContractorArgChecksOK(String mimeType, String data) {
+        try {
+            new ContractInfo(mimeType, data);
+            fail("Expected IllegalArgumentException");
+        } catch(IllegalArgumentException e) {
+            // Expected
+        }
+    }
+}


Property changes on: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/internal/soa/esb/publish/ContractInfoUnitTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list