[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