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 d16d8033f1daeb792bc784d6e907c12bf0db6d50..f1530488d62ef7c40e6bc2756a82941e4ac937ec 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 f890bb52604172559fdf1649c42976c53b0ceaf9..30c2c113673f1146b688506c81e7b4f5cc3c6313 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 d3ee2dbd6b04cb0d845f568be004924f29cf89c2..9736027acc846856e98dd48dfb4726bf4effdc8e 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 6c2caea58119b9081e45f4bad6bb90b3d6fc1d6b..3c6798bad8efc09a76f6c0b40beae86c3f997fef 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 1f453f077546e86d452386756db5b230a76715d7..11eb03ce952a328b8cdd06184e0d2b0d946118c3 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 740e4142a03d4c49fed8c1e00ff7608338027840..6712e0c830e97267a02f12669be531ea45379021 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 a53ea97cb8bf0e4aa59e0b33d8dbfeef1e2c8d2d..154c84251262223368d12ec2af17b5522d1c3003 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 5f9981046cf331299b3254da4ba6487f21f3dc4e..d42abdca9aca696a82b979b0432255d60043c43f 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 fb7a8a58f8943048716b37a9a9bea3e5c81c937e..89d827b6693a5ee80a72b19d4189f2a6f801934d 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 749866a8fe4f18354204e16381d177fca054d2a2..d4e4cd6cf9363ec236fb539bd52df8f4b0d6d037 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")