From a73c1deefc7e5faa909721ba8b0bc3e512428ce9 Mon Sep 17 00:00:00 2001 From: jakubs <jakubs> Date: Mon, 21 May 2012 12:30:56 +0000 Subject: [PATCH] SP-45, BIS-21 add the test to the registration without any dataset SVN: 25312 --- .../JythonTopLevelDataSetRegistratorTest.java | 48 +++++++++++++++++-- .../registrator/v2-testcase-no-dataset.py | 4 ++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-no-dataset.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 5999afd1f66..cc6266eb56a 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 @@ -536,7 +536,7 @@ public class JythonTopLevelDataSetRegistratorTest extends AbstractJythonDataSetH protected void setupExpectations() { generalAllowing(); - + if (testCase.failurePoint != null && testCase.failurePoint .compareTo(TestCaseParameters.FailurePoint.DURING_OPENBIS_REGISTRATION) < 0) @@ -595,9 +595,10 @@ public class JythonTopLevelDataSetRegistratorTest extends AbstractJythonDataSetH private void generalAllowing() { allowing(storageRecoveryManager).getProcessingMarkerFile(with(any(File.class))); - will(returnValue(new File(incomingDataSetFile.getAbsolutePath()+".NON_EXISTING"))); + will(returnValue(new File(incomingDataSetFile.getAbsolutePath() + + ".NON_EXISTING"))); } - + @SuppressWarnings("unchecked") private void cleanRecoveryCheckpoint(boolean required) { @@ -1275,6 +1276,47 @@ public class JythonTopLevelDataSetRegistratorTest extends AbstractJythonDataSetH context.assertIsSatisfied(); } + @SuppressWarnings("unchecked") + @Test + public void testImportWithoutDataSet() + { + initializeStorageRecoveryManagerMock(); + + setUpHomeDataBaseExpectations(); + Properties threadProperties = + createThreadPropertiesRelativeToScriptsFolder("v2-testcase-no-dataset.py"); + threadProperties.put("TEST_V2_API", ""); + createHandler(threadProperties, false, true); + + createData(); + + context.checking(new Expectations() + { + { + allowing(storageRecoveryManager).getProcessingMarkerFile(incomingDataSetFile); + will(returnValue(new File(incomingDataSetFile.getParent(), "a_marker_file"))); + + one(storageRecoveryManager).checkpointPrecommittedState( + with(any(DataSetStorageAlgorithmRunner.class))); + + oneOf(openBisService) + .performEntityOperations( + with(any(ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationDetails.class))); + + oneOf(storageRecoveryManager).registrationCompleted( + with(any(DataSetStorageAlgorithmRunner.class))); + } + }); + + handler.handle(markerFile); + + assertFalse(handler.getExpectations().didServiceRollbackHappen); + assertFalse(handler.getExpectations().didTransactionRollbackHappen); + assertFalse(handler.getExpectations().didRollbackServiceFunctionRun); + + context.assertIsSatisfied(); + } + @Test public void testQuerying() { diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-no-dataset.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-no-dataset.py new file mode 100644 index 00000000000..471eeb9d9e4 --- /dev/null +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/v2-testcase-no-dataset.py @@ -0,0 +1,4 @@ +execfile("sourceTest/java/ch/systemsx/cisd/etlserver/registrator/all-hooks.py") + +def process(): + mat = transaction.createNewMaterial("JTDH2_TEST", "GENE") \ No newline at end of file -- GitLab