From fbce5c8520db8dd82da15aef7b3843cda7c51aed Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Thu, 23 Feb 2012 16:30:04 +0000
Subject: [PATCH] LMS-2794: add test, that post-registration hook error doesnt
 prevent successfull registration

SVN: 24557
---
 .../JythonTopLevelDataSetRegistratorTest.java         |  6 ++++++
 .../testcase-postregistration-hook-failed.py          | 11 +++++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/testcase-postregistration-hook-failed.py

diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
index 588d4d34783..fc425f841f6 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/JythonTopLevelDataSetRegistratorTest.java
@@ -239,6 +239,12 @@ public class JythonTopLevelDataSetRegistratorTest extends AbstractJythonDataSetH
         testCase.failurePoint = TestCaseParameters.FailurePoint.BEFORE_OPENBIS_REGISTRATION;
         testCases.add(testCase);
 
+        testCase =
+                new TestCaseParameters(
+                        "Postregistration hook error should not prevent succesfull registration.");
+        testCase.dropboxScriptPath = "testcase-postregistration-hook-failed.py";
+        testCases.add(testCase);
+        
         // TODO: Add more scenarios:
         // - Test move to error
         // - Test moving of the original file in case of validation error
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/testcase-postregistration-hook-failed.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/testcase-postregistration-hook-failed.py
new file mode 100644
index 00000000000..329dbdd9812
--- /dev/null
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/testcase-postregistration-hook-failed.py
@@ -0,0 +1,11 @@
+from java.lang import IllegalArgumentException
+
+execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py")
+
+def post_metadata_registration(transaction, context):
+    global didPostRegistrationFunctionRunHappen
+    didPostRegistrationFunctionRunHappen = True
+    raise IllegalArgumentException("Fail at post_metadata_registration to cancel registration")
+
+execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/simple-transaction.py")
+
-- 
GitLab