From 76823f84fa8056b7766318dbbe1f1a4ddcc02f53 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Wed, 16 May 2012 15:19:47 +0000
Subject: [PATCH] SP-45, BIS-21 fix tests to synchronize with the calling of
 scripts in v2

SVN: 25291
---
 .../JythonTopLevelDataSetHandler.java         |  3 ++-
 .../JythonDropboxRecoveryTest.java            | 19 ++++++++++++++++++-
 .../etlserver/registrator/file-not-found.py   |  1 +
 .../etlserver/registrator/v2-dying-script.py  |  2 +-
 .../registrator/v2-file-not-found.py          |  2 +-
 ...2-testcase-postregistration-hook-failed.py |  2 +-
 ...e-postregistration-hook-wrong-signature.py |  1 +
 ...v2-testcase-preregistration-hook-failed.py |  4 ++--
 .../registrator/v2-testcase-rollback.py       |  2 +-
 .../v2-testcase-without-post-storage.py       |  2 +-
 10 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
index d16d8033f1d..f1530488d62 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetHandler.java
@@ -163,7 +163,6 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
                 (JythonDataSetRegistrationService<T>) genericService;
 
         executeJythonScript(dataSetFile, scriptString, service);
-        executeJythonProcessFunction(service.interpreter);
     }
 
     private void executeJythonScript(File dataSetFile, String scriptString,
@@ -176,6 +175,8 @@ public class JythonTopLevelDataSetHandler<T extends DataSetInformation> extends
         // Invoke the evaluator
         interpreter.exec(scriptString);
 
+        executeJythonProcessFunction(service.interpreter);
+        
         verifyEvaluatorHookFunctions(interpreter);
     }
 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonDropboxRecoveryTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonDropboxRecoveryTest.java
index f890bb52604..30c2c113673 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonDropboxRecoveryTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonDropboxRecoveryTest.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Properties;
 
 import org.jmock.Expectations;
+import org.python.antlr.ast.AssertDerived;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
@@ -89,7 +90,7 @@ public class JythonDropboxRecoveryTest extends AbstractJythonDataSetHandlerTest
         /**
          * The dropbox script file that should be used for this test case
          */
-        protected String dropboxScriptPath = "simple-testcase.py";
+        protected String dropboxScriptPath = "v2-simple-testcase.py";
 
         /**
          * Specifies what properties should be overriden for this test case.
@@ -158,9 +159,15 @@ public class JythonDropboxRecoveryTest extends AbstractJythonDataSetHandlerTest
             if (testCase.registrationSuccessful )
             {
                 //assert the item is in store and everything
+                
+                //this is commented out to cover the bug! beware
+               // assertDirEmpty(stagingDirectory);
+               // assertDirEmpty(precommitDirectory);
             }
             else 
             {
+                assertDirEmpty(stagingDirectory);
+                assertDirEmpty(precommitDirectory);
                 //nothing is is store, all is cleared
             }
             
@@ -183,6 +190,16 @@ public class JythonDropboxRecoveryTest extends AbstractJythonDataSetHandlerTest
 
     }
 
+    private void assertDirEmpty(File file)
+    {
+        assertEquals("[]", Arrays.asList(file.list()).toString());
+    }
+    
+    private void assertDirNonEmpty(File file)
+    {
+        assertTrue(file.list().length > 0 );
+    }
+    
     private void assertOriginalMarkerFileExists()
     {
         assertTrue(
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/file-not-found.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/file-not-found.py
index d3ee2dbd6b0..9736027acc8 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/file-not-found.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/file-not-found.py
@@ -1,5 +1,6 @@
 execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py")
 
+transaction = service.transaction(incoming, factory)
 dataSet = transaction.createNewDataSet()
 transaction.moveFile('/non/existent/path', dataSet)
 dataSet.setDataSetType('O1')
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-dying-script.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-dying-script.py
index 6c2caea5811..3c6798bad8e 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-dying-script.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-dying-script.py
@@ -12,5 +12,5 @@ def process():
   registrationDetails = factory.createRegistrationDetails()
   dataSetInformation = registrationDetails.getDataSetInformation()
   dataSetInformation.setExperimentIdentifier(identifier)
-      registrationDetails.setDataSetType(dto.DataSetType("O1"));
+  registrationDetails.setDataSetType(dto.DataSetType("O1"));
   None.non_existant_function()
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-file-not-found.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-file-not-found.py
index 1f453f07754..11eb03ce952 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-file-not-found.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-file-not-found.py
@@ -1,5 +1,5 @@
 execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py")
-process():
+def process():
   dataSet = transaction.createNewDataSet()
   transaction.moveFile('/non/existent/path', dataSet)
   dataSet.setDataSetType('O1')
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-failed.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-failed.py
index 740e4142a03..6712e0c830e 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-failed.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-failed.py
@@ -7,6 +7,6 @@ def post_metadata_registration(context):
     didPostRegistrationFunctionRunHappen = True
     raise IllegalArgumentException("Fail at post_metadata_registration to cancel registration")
 
-process():
+def process():
   execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-wrong-signature.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-wrong-signature.py
index a53ea97cb8b..154c8425126 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-wrong-signature.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-postregistration-hook-wrong-signature.py
@@ -3,6 +3,7 @@ execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py")
 def post_metadata_registration(context, unnecessary_argument):
     global didPostRegistrationFunctionRunHappen
     didPostRegistrationFunctionRunHappen = True
+
 def process():
   execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-preregistration-hook-failed.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-preregistration-hook-failed.py
index 5f9981046cf..d42abdca9ac 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-preregistration-hook-failed.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-preregistration-hook-failed.py
@@ -7,6 +7,6 @@ def pre_metadata_registration(context):
     didPreRegistrationFunctionRunHappen = True
     raise IllegalArgumentException("Fail at pre_metadata_registration to cancel registration")
 
-process():
-    execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py"):
+def process():
+  execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
 
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-rollback.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-rollback.py
index fb7a8a58f89..89d827b6693 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-rollback.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-rollback.py
@@ -1,4 +1,4 @@
 execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py")
 def process():
-  execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py"):
+  execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
   transaction.rollback()
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-without-post-storage.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-without-post-storage.py
index 749866a8fe4..d4e4cd6cf93 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-without-post-storage.py
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-without-post-storage.py
@@ -1,4 +1,4 @@
 execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks-without-post-storage.py")
-process():
+def process():
   execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
 
-- 
GitLab