From c00d00efea1bf8723cf14ffabf35d8e5765689cc Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Tue, 28 Apr 2009 08:46:53 +0000 Subject: [PATCH] [LMS-812] data set properties - etl - add unit tests SVN: 10843 --- .../DefaultDataSetInfoExtractorTest.java | 65 +++++++++++++++++-- 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultDataSetInfoExtractorTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultDataSetInfoExtractorTest.java index 166ce2ab59e..7f269a5c6f4 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultDataSetInfoExtractorTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/DefaultDataSetInfoExtractorTest.java @@ -31,6 +31,7 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.filesystem.FileUtilities; import ch.systemsx.cisd.common.logging.LogInitializer; +import ch.systemsx.cisd.common.parser.MandatoryPropertyMissingException; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; /** @@ -106,12 +107,13 @@ public final class DefaultDataSetInfoExtractorTest extends CodeExtractortTestCas final String parentDataSetCode = "1234-8"; final String productionDate = "2007-09-03"; final String barcode = "XYZ-123"; - File incoming = new File(WORKING_DIRECTORY, barcode + separator + parentDataSetCode - + separator + "A" + separator + producerCode + separator + productionDate); + File incoming = + new File(WORKING_DIRECTORY, barcode + separator + parentDataSetCode + separator + + "A" + separator + producerCode + separator + productionDate); incoming.mkdir(); - FileUtilities.writeToFile(new File(incoming, "props.tsv"), "property\tvalue\np1\tv1\np2\tv2"); - final DataSetInformation dsInfo = - extractor.getDataSetInformation(incoming); + FileUtilities.writeToFile(new File(incoming, "props.tsv"), + "property\tvalue\np1\tv1\np2\tv2"); + final DataSetInformation dsInfo = extractor.getDataSetInformation(incoming); assertEquals(barcode, dsInfo.getSampleIdentifier().getSampleCode()); assertEquals(parentDataSetCode, dsInfo.getParentDataSetCode()); assertEquals(producerCode, dsInfo.getProducerCode()); @@ -121,6 +123,59 @@ public final class DefaultDataSetInfoExtractorTest extends CodeExtractortTestCas dsInfo.getDataSetProperties().toString()); } + @Test + public void testFailWithDataSetPropertiesFileExpectedButUndefined() + { + final Properties properties = new Properties(); + final String separator = "="; + properties.setProperty(DATA_SET_PROPERTIES_FILE_NAME_KEY, "props-unexistent.tsv"); + final IDataSetInfoExtractor extractor = new DefaultDataSetInfoExtractor(properties); + final String producerCode = "M1"; + final String parentDataSetCode = "1234-8"; + final String productionDate = "2007-09-03"; + final String barcode = "XYZ-123"; + File incoming = + new File(WORKING_DIRECTORY, barcode + separator + parentDataSetCode + separator + + "A" + separator + producerCode + separator + productionDate); + incoming.mkdir(); + boolean exceptionThrown = false; + try + { + extractor.getDataSetInformation(incoming); + } catch (UserFailureException ex) + { + exceptionThrown = true; + } + assertTrue(exceptionThrown); + } + + @Test + public void testFailWithDataSetPropertiesFileWithoutHeader() + { + final Properties properties = new Properties(); + final String separator = "="; + properties.setProperty(DATA_SET_PROPERTIES_FILE_NAME_KEY, "props.tsv"); + final IDataSetInfoExtractor extractor = new DefaultDataSetInfoExtractor(properties); + final String producerCode = "M1"; + final String parentDataSetCode = "1234-8"; + final String productionDate = "2007-09-03"; + final String barcode = "XYZ-123"; + File incoming = + new File(WORKING_DIRECTORY, barcode + separator + parentDataSetCode + separator + + "A" + separator + producerCode + separator + productionDate); + incoming.mkdir(); + FileUtilities.writeToFile(new File(incoming, "props.tsv"), "p1\tv1\np2\tv2"); + boolean exceptionThrown = false; + try + { + extractor.getDataSetInformation(incoming); + } catch (MandatoryPropertyMissingException ex) + { + exceptionThrown = true; + } + assertTrue(exceptionThrown); + } + @Test public void testWrongProductionDateFormat() { -- GitLab