From 1a71227142b6079aa6a74ddd26c3eb3e80ff9e24 Mon Sep 17 00:00:00 2001
From: ribeaudc <ribeaudc>
Date: Thu, 22 May 2008 19:34:29 +0000
Subject: [PATCH] fix: - Unit tests.

SVN: 6254
---
 .../cisd/datamover/IncomingProcessorTest.java | 133 +++++++++++-------
 1 file changed, 85 insertions(+), 48 deletions(-)

diff --git a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
index 8567d3b8d60..47ab5a9b008 100644
--- a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
+++ b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
@@ -42,36 +42,52 @@ import ch.systemsx.cisd.datamover.filesystem.intf.IPathRemover;
 import ch.systemsx.cisd.datamover.utils.LocalBufferDirs;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
 public class IncomingProcessorTest
 {
-    private static final String LOG_DEBUG_MACHINE_PREFIX = "DEBUG MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - ";
+    private static final String LOG_DEBUG_MACHINE_PREFIX =
+            "DEBUG MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - ";
 
     private static final String LOG_DEBUG_PREFIX =
             "DEBUG OPERATION.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - ";
-    
+
     private static final File TEST_FOLDER = new File("targets/unit-test/IncomingProcessorTest");
+
     private static final String INCOMING_DIR = "incoming";
+
     private static final String COPY_IN_PROGRESS_DIR = "copy-in-progress";
+
     private static final String COPY_COMPLETE_DIR = "copy-complete";
+
     private static final String READY_TO_MOVE_DIR = "ready-to-move";
+
     private static final String TEMP_DIR = "temp";
+
     private static final String EXAMPLE_SCRIPT_NAME = "example-script.sh";
+
     private static final String EXAMPLE_SCRIPT = "echo hello world";
+
     private static final File TEST_FILE = new File(TEST_FOLDER, "blabla.txt");
 
     private BufferedAppender logRecorder;
+
     private Mockery context;
+
     private IFileSysOperationsFactory fileSysOpertationFactory;
+
     private IPathMover mover;
+
     private IPathRemover remover;
+
     private File incomingDir;
+
     private IExitHandler exitHandler;
+
     private File copyInProgressDir;
+
     private File copyCompleteDir;
+
     private File exampleScript;
 
     @BeforeMethod
@@ -84,7 +100,7 @@ public class IncomingProcessorTest
         mover = context.mock(IPathMover.class);
         remover = context.mock(IPathRemover.class);
         exitHandler = context.mock(IExitHandler.class);
-        
+
         FileUtilities.deleteRecursively(TEST_FOLDER);
         TEST_FOLDER.mkdirs();
         exampleScript = new File(TEST_FOLDER, EXAMPLE_SCRIPT_NAME);
@@ -97,7 +113,7 @@ public class IncomingProcessorTest
         new File(TEST_FOLDER, READY_TO_MOVE_DIR).mkdir();
         new File(TEST_FOLDER, TEMP_DIR).mkdir();
     }
-    
+
     @AfterMethod
     public void tearDown()
     {
@@ -106,7 +122,7 @@ public class IncomingProcessorTest
         // Otherwise one do not known which test failed.
         context.assertIsSatisfied();
     }
-    
+
     @Test
     public void testWithoutDataCompletedScript() throws IOException
     {
@@ -119,18 +135,20 @@ public class IncomingProcessorTest
                     will(returnValue(new File(copyCompleteDir, testDataFile.getName())));
                 }
             });
-        
+
         DataMoverProcess process =
                 createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1");
         TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
-        
-        assertEquals("", getNormalizedLogContent());
-        
+
+        assertEquals(
+                "DEBUG OPERATION.ch.systemsx.cisd.common.utilities.DirectoryScanningTimerTask - Following store item \'test-data.txt\' has been handled.",
+                getNormalizedLogContent());
+
         context.assertIsSatisfied();
     }
-    
+
     @Test
     public void testWithDataCompletedScript() throws IOException
     {
@@ -138,13 +156,13 @@ public class IncomingProcessorTest
         final File testDataFile = new File(incomingDir, "test-data.txt");
         testDataFile.createNewFile();
         context.checking(new Expectations()
-        {
             {
-                one(mover).tryMove(testDataFile, copyCompleteDir, "");
-                will(returnValue(new File(copyCompleteDir, testDataFile.getName())));
-            }
-        });
-        
+                {
+                    one(mover).tryMove(testDataFile, copyCompleteDir, "");
+                    will(returnValue(new File(copyCompleteDir, testDataFile.getName())));
+                }
+            });
+
         DataMoverProcess process =
                 createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1",
                         "--" + PropertyNames.DATA_COMPLETED_SCRIPT, exampleScript.toString());
@@ -152,7 +170,7 @@ public class IncomingProcessorTest
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
         dataMoverTimerTask.run(); // 3. round does not change status, thus no log
-        
+
         assertEquals(
                 LOG_DEBUG_PREFIX
                         + "Executing command: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
@@ -163,14 +181,22 @@ public class IncomingProcessorTest
                         + "DataCompletedFilter.Status{ok=true,run=true,terminated=false,exitValue=0,blocked=false}. "
                         + "Command line: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
                         + "<wd>/targets/unit-test/IncomingProcessorTest/incoming/test-data.txt]"
-                        + OSUtilities.LINE_SEPARATOR + LOG_DEBUG_PREFIX
-                        + "[sh] process returned with exit value 0." + OSUtilities.LINE_SEPARATOR
-                        + LOG_DEBUG_MACHINE_PREFIX + "[sh] output:" + OSUtilities.LINE_SEPARATOR
-                        + LOG_DEBUG_MACHINE_PREFIX + "\"hello world\"", getNormalizedLogContent());
-        
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_PREFIX
+                        + "[sh] process returned with exit value 0."
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_MACHINE_PREFIX
+                        + "[sh] output:"
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_MACHINE_PREFIX
+                        + "\"hello world\""
+                        + OSUtilities.LINE_SEPARATOR
+                        + "DEBUG OPERATION.ch.systemsx.cisd.common.utilities.DirectoryScanningTimerTask - Following store item 'test-data.txt' has been handled.",
+                getNormalizedLogContent());
+
         context.assertIsSatisfied();
     }
-    
+
     @Test
     public void testWithDataCompletedScriptWhichFailsInitially() throws IOException
     {
@@ -179,23 +205,23 @@ public class IncomingProcessorTest
         final File testDataFile = new File(incomingDir, "test-data.txt");
         testDataFile.createNewFile();
         context.checking(new Expectations()
-        {
             {
-                one(mover).tryMove(testDataFile, copyCompleteDir, "");
-                will(returnValue(new File(copyCompleteDir, testDataFile.getName())));
-            }
-        });
-        
+                {
+                    one(mover).tryMove(testDataFile, copyCompleteDir, "");
+                    will(returnValue(new File(copyCompleteDir, testDataFile.getName())));
+                }
+            });
+
         DataMoverProcess process =
-            createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1",
-                    "--" + PropertyNames.DATA_COMPLETED_SCRIPT, exampleScript.toString());
+                createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1",
+                        "--" + PropertyNames.DATA_COMPLETED_SCRIPT, exampleScript.toString());
         TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
         dataMoverTimerTask.run(); // 3. round does not change status, thus no log
         TEST_FILE.createNewFile();
         dataMoverTimerTask.run(); // 4. round finds changed status, thus log
-        
+
         boolean terminated = OSUtilities.isWindows();
         assertEquals(
                 LOG_DEBUG_PREFIX
@@ -204,13 +230,15 @@ public class IncomingProcessorTest
                         + OSUtilities.LINE_SEPARATOR
                         + "ERROR NOTIFY.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
                         + "Processing status of data completed script has changed to "
-                        + "DataCompletedFilter.Status{ok=false,run=true,terminated=" + terminated
-                                + ",exitValue=1,blocked=false}. "
+                        + "DataCompletedFilter.Status{ok=false,run=true,terminated="
+                        + terminated
+                        + ",exitValue=1,blocked=false}. "
                         + "Command line: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
                         + "<wd>/targets/unit-test/IncomingProcessorTest/incoming/test-data.txt]"
                         + OSUtilities.LINE_SEPARATOR
                         + "WARN  OPERATION.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
-                        + "[sh] process " + (terminated ? "was destroyed." : "returned with exit value 1.")
+                        + "[sh] process "
+                        + (terminated ? "was destroyed." : "returned with exit value 1.")
                         + OSUtilities.LINE_SEPARATOR
                         + "WARN  MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
                         + "[sh] output:"
@@ -231,25 +259,34 @@ public class IncomingProcessorTest
                         + "DataCompletedFilter.Status{ok=true,run=true,terminated=false,exitValue=0,blocked=false}. "
                         + "Command line: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
                         + "<wd>/targets/unit-test/IncomingProcessorTest/incoming/test-data.txt]"
-                        + OSUtilities.LINE_SEPARATOR + LOG_DEBUG_PREFIX
-                        + "[sh] process returned with exit value 0." + OSUtilities.LINE_SEPARATOR
-                        + LOG_DEBUG_MACHINE_PREFIX + "[sh] output:" + OSUtilities.LINE_SEPARATOR
-                        + LOG_DEBUG_MACHINE_PREFIX + "\"hello world\"" + OSUtilities.LINE_SEPARATOR
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_PREFIX
+                        + "[sh] process returned with exit value 0."
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_MACHINE_PREFIX
+                        + "[sh] output:"
+                        + OSUtilities.LINE_SEPARATOR
                         + LOG_DEBUG_MACHINE_PREFIX
-                        + "\"removed `targets/unit-test/IncomingProcessorTest/blabla.txt'\"",
+                        + "\"hello world\""
+                        + OSUtilities.LINE_SEPARATOR
+                        + LOG_DEBUG_MACHINE_PREFIX
+                        + "\"removed `targets/unit-test/IncomingProcessorTest/blabla.txt'\""
+                        + OSUtilities.LINE_SEPARATOR
+                        + "DEBUG OPERATION.ch.systemsx.cisd.common.utilities.DirectoryScanningTimerTask - Following store item 'test-data.txt' has been handled.",
                 getNormalizedLogContent());
-        
+
         context.assertIsSatisfied();
     }
 
     private String getNormalizedLogContent()
     {
         String content = logRecorder.getLogContent();
-        content = content.replace(new File(System.getProperty("user.dir")).getAbsolutePath(), "<wd>");
+        content =
+                content.replace(new File(System.getProperty("user.dir")).getAbsolutePath(), "<wd>");
         content = content.replace('\\', '/');
         return content;
     }
-    
+
     private DataMoverProcess createProcess(String... args)
     {
         Parameters parameters = new Parameters(args, exitHandler);
@@ -261,13 +298,13 @@ public class IncomingProcessorTest
                 {
                     allowing(fileSysOpertationFactory).getMover();
                     will(returnValue(mover));
-                    
+
                     allowing(fileSysOpertationFactory).getRemover();
                     will(returnValue(remover));
                 }
             });
         return IncomingProcessor.createMovingProcess(parameters, fileSysOpertationFactory,
-                        new MockTimeProvider(), localBufferDirs);
-        
+                new MockTimeProvider(), localBufferDirs);
+
     }
 }
-- 
GitLab