[jboss-svn-commits] JBL Code SVN: r9040 - in labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions: templates and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Jan 27 10:10:49 EST 2007


Author: jplenhart
Date: 2007-01-27 10:10:48 -0500 (Sat, 27 Jan 2007)
New Revision: 9040

Added:
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/
   labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/SqlRowActionUnitTest.java
Log:
Adding Unit Tests for org.jboss.soa.esb.actions.templates.SqlRowActionUnitTest

Added: labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/SqlRowActionUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/SqlRowActionUnitTest.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/templates/SqlRowActionUnitTest.java	2007-01-27 15:10:48 UTC (rev 9040)
@@ -0,0 +1,121 @@
+package org.jboss.soa.esb.actions.templates;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.JUnit4TestAdapter;
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.actions.AbstractSqlRowAction;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.common.tests.BaseTest;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.format.MessageFactory;
+import org.jboss.soa.esb.message.format.MessageType;
+
+/**
+ * Testing the AbstractSqlRowActionTest
+ *
+ * @author Jason Lenhart
+ */
+public class SqlRowActionUnitTest extends BaseTest
+{
+
+
+    private Logger logger = Logger.getLogger(this.getClass());
+
+    /**
+     * Process a Message through the process() of AbstractSqlRowAction
+     * Using an Inner Class Implementation of AbstractSqlRowAction
+     */
+    public void testProcessMessage()
+    {
+        // Body Must implement Map in order to have SqlRowAction process
+        Message msg1 = MessageFactory.getInstance().getMessage(MessageType.DEFAULT_TYPE);
+
+        msg1.getBody().add("org.jboss.soa.esb.actions.current.after", new HashMap());
+
+        try
+        {
+            // Instantiate my AbstractSqlRowAction Inner Class implementation and test the concrete method
+            AbstractSqlRowAction sqlRowAction = new AbstractSqlRowActionTestImpl("myaction", new ArrayList());
+            // Should get removed after processing
+            Message msg2 = sqlRowAction.process(msg1);
+            Object obj = msg2.getBody().get("org.jboss.soa.esb.actions.current.after");
+            //Assert that it is no longer within the Body
+            assertNull(obj);
+        }
+        catch (Exception _ex)
+        {
+            logger.log(Priority.ERROR, _ex.getMessage(), _ex);
+            assertTrue(false);
+        }
+    }
+
+
+    public void testProcessIncorrectMessage()
+    {
+        // Body Must implement Map in order to have SqlRowAction process
+        // for this test it will not and we will expect an
+        Message msg1 = MessageFactory.getInstance().getMessage(MessageType.DEFAULT_TYPE);
+
+        msg1.getBody().add("org.jboss.soa.esb.actions.current.after", new Object());
+
+        try
+        {
+            // Instantiate my AbstractSqlRowAction Inner Class implementation and test the concrete method
+            AbstractSqlRowAction sqlRowAction = new AbstractSqlRowActionTestImpl("myaction", new ArrayList());
+            sqlRowAction.process(msg1);
+            assertTrue(false);
+
+        }
+        catch (ActionProcessingException _apex)
+        {
+            assertTrue(true);
+        }
+        catch (Exception _ex)
+        {
+            logger.log(Priority.ERROR, _ex.getMessage(), _ex);
+            assertTrue(false);
+        }
+
+
+    }
+
+
+    public static junit.framework.Test suite()
+    {
+        return new JUnit4TestAdapter(SqlRowActionUnitTest.class);
+    }
+
+
+    private class AbstractSqlRowActionTestImpl extends AbstractSqlRowAction
+    {
+        protected AbstractSqlRowActionTestImpl(String actionName, List<KeyValuePair> properties)
+                throws Exception
+        {
+            super(actionName, properties);
+        }
+
+
+        protected Object process(Map resultSet) throws ActionProcessingException
+        {
+            return null;
+        }
+
+        public Serializable getOkNotification(Message message)
+        {
+            return null;
+        }
+
+        public Serializable getErrorNotification(Message message)
+        {
+            return null;
+        }
+    }
+
+}




More information about the jboss-svn-commits mailing list