[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