[jboss-svn-commits] JBL Code SVN: r6952 - labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 20 09:32:59 EDT 2006
Author: b_georges
Date: 2006-10-20 09:32:56 -0400 (Fri, 20 Oct 2006)
New Revision: 6952
Added:
labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerConfig1.xml
labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerTest.java
Log:
looking into RemoteDirectoryPoller...
Added: labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerConfig1.xml
===================================================================
--- labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerConfig1.xml 2006-10-20 13:30:36 UTC (rev 6951)
+++ labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerConfig1.xml 2006-10-20 13:32:56 UTC (rev 6952)
@@ -0,0 +1,64 @@
+ <!--
+
+ Params from RemoteDirectoryPoller
+ public static final String FILE_INPUT_DIR = "inputDir";
+ public static final String FILE_INPUT_SFX = "inputSuffix";
+ public static final String FILE_WORK_SFX = "workSuffix";
+ public static final String FILE_ERROR_DIR = "errorDir";
+ public static final String FILE_ERROR_SFX = "errorSuffix";
+ public static final String FILE_POST_DIR = "postDir";
+ public static final String FILE_POST_SFX = "postSuffix";
+ public static final String FILE_POST_DEL = "postDelete";
+
+ Params from FtpClientUtil
+ public static final String PARMS_FTP_SERVER = "ftpServer";
+ public static final String PARMS_USER = "ftpUser";
+ public static final String PARMS_PASSWD = "ftpPassword";
+ public static final String PARMS_PORT = "ftpPort";
+ public static final String PARMS_REMOTE_DIR = "ftpRemoteDir";
+ public static final String PARMS_LOCAL_DIR = "ftpLocalDir";
+ public static final String PARMS_ASCII = "ftpAscii";
+ public static final String PARMS_PASSIVE = "ftpPassive";
+
+ -->
+
+ <RemoteFileCopierExample
+ commandConnFactoryClass="ConnectionFactory"
+ commandJndiType="jboss"
+ commandJndiURL="localhost"
+ commandIsTopic="false"
+ messageSelector="gpMsgSelector='test'"
+ commandJndiName="queue/A"
+>
+ <RemotePollDirectoryExample
+ listenerClass="org.jboss.soa.esb.listeners.RemoteDirectoryPoller"
+ actions="RemoteFileCopy1, RemoteFileCopy2"
+ pollLatencySecs="2"
+ maxThreads="2"
+ inputDir="@qa.build@/inputDir"
+ inputSuffix=".inp"
+ workSuffix=".WORKING"
+ errorSuffix=".PROCERR"
+ postDir="@qa.build@/inputDoneDir"
+ inputDoneDir="@qa.build@/inputDoneDir"
+ postSuffix=".DONE"
+ postDelete="n"
+ >
+ </RemotePollDirectoryExample>
+
+ <Actions>
+ <Action name="RemoteFileCopy1" processor="FileCopier">
+ <property name="copyToDirURI" value="@qa.build@/copiedTo"/>
+ <property name="copyToSuffix" value=".outFromFirst"/>
+ </Action>
+ <Action name="RemoteFileCopy2" processor="FileCopier">
+ <property name="copyToDirURI" value="@qa.build@/copiedTo"/>
+ <property name="copyToSuffix" value=".outFromSecond"/>
+ </Action>
+
+ <ProcessorAliases>
+ <Alias name="FileCopier" class="org.jboss.soa.esb.actions.routing.FileCopier" />
+ </ProcessorAliases>
+ </Actions>
+
+</RemoteFileCopierExample>
Added: labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerTest.java
===================================================================
--- labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerTest.java 2006-10-20 13:30:36 UTC (rev 6951)
+++ labs/jbossesb/workspace/b_georges/qa/junit/src/org/jboss/soa/esb/listeners/RemoteDirectoryPollerTest.java 2006-10-20 13:32:56 UTC (rev 6952)
@@ -0,0 +1,95 @@
+/**
+ *
+ */
+package org.jboss.soa.esb.listeners;
+
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.helpers.KeyValuePair;
+import org.jboss.soa.esb.util.ClassUtils;
+import org.jboss.soa.esb.util.FileUtils;
+import org.jboss.soa.esb.util.JMSClientUtil;
+import org.jboss.soa.esb.util.ListenerUtils;
+import org.jboss.soa.esb.util.ListenerUtils.ListenersManagerExecThread;
+
+/**
+ * @author b_georges
+ *
+ */
+public class RemoteDirectoryPollerTest extends TestCase {
+
+ private Logger log = Logger.getLogger(this.getClass());
+
+ private ListenersManagerExecThread listenersMgr;
+
+ File inputDir, inputDoneDir, copiedTo;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ public void setUp() throws Exception {
+ log.debug("====== setUp ==========");
+ // Create the directories required by the test...
+ inputDir = FileUtils.createTestDir("inputDir");
+ inputDoneDir = FileUtils.createTestDir("inputDoneDir");
+ copiedTo = FileUtils.createTestDir("copiedTo");
+
+ // Start the listener...
+ listenersMgr = ListenerUtils.startListeners(ClassUtils
+ .toResourcePath(getClass().getPackage())
+ + "/RemoteDirectoryPollerConfig1.xml");
+ //listenersMgr.
+ }
+
+
+ public void test() throws InterruptedException {
+ // Write the input file...
+ FileUtils.writeDataToFile(new File(inputDir, "infile1.inp"), "Great goal by Maradona!!".getBytes());
+ // Make sure the input gets processed to the "inputDoneDir"
+ FileUtils.assertFileExists(new File(inputDoneDir, "infile1.inp.DONE"), 10000);
+ // Make sure the input gets removed from the "inputDir"...
+ FileUtils.assertFileDoesntExists(new File(inputDir, "infile1.inp"), 10000);
+ // Make sure the notifications appear in the "copiedTo" dir...
+ FileUtils.assertFileExists(new File(copiedTo, "infile1.inp.outFromFirst"), 10000);
+ FileUtils.assertFileExists(new File(copiedTo, "infile1.inp.outFromSecond"), 10000);
+
+ // Make sure there's no open file handles on the files created/copied by the ESB...
+ FileUtils.assertCanDelete(new File(inputDoneDir, "infile1.inp.DONE"), 10000);
+ FileUtils.assertCanDelete(new File(copiedTo, "infile1.inp.outFromFirst"), 10000);
+ FileUtils.assertCanDelete(new File(copiedTo, "infile1.inp.outFromSecond"), 10000);
+
+ // There should have been no exceptions...
+ listenersMgr.assertNotInException();
+
+ // Send a Shutdown message to the command queue...
+ JMSClientUtil.sendMessageToQueue("shutdown", JMSClientUtil.QUEUE.A, new KeyValuePair[] {new KeyValuePair("gpMsgSelector", "test")});
+ // Make sure the Shutdown was successful...
+ listenersMgr.assertShutdownOK(10000);
+ }
+
+ /**
+ * Test method for {@link org.jboss.soa.esb.listeners.RemoteDirectoryPoller#close()}.
+ */
+ public void testClose() {
+ log.debug("====== testClose ==========");
+ fail("Not yet implemented"); // TODO
+ }
+
+
+ /**
+ * @throws java.lang.Exception
+ */
+ public void tearDown() throws Exception {
+ log.debug("====== tearDown ==========");
+ FileUtils.assertCanDelete(inputDir, 10000);
+ FileUtils.assertCanDelete(inputDoneDir, 10000);
+ FileUtils.assertCanDelete(copiedTo, 10000);
+ }
+
+
+}
More information about the jboss-svn-commits
mailing list