From 7ddab6d77d63e8d57444df7b754eb91c98e5ebb3 Mon Sep 17 00:00:00 2001 From: gpawel <gpawel> Date: Tue, 21 Jun 2011 11:19:07 +0000 Subject: [PATCH] [LMS-2311] units tests for multiple scripts SVN: 21768 --- .../ValidationScriptRunnerTest.java | 31 ++++++++++++++++++- .../v1/validation/validation_script_1_of_2.py | 9 ++++++ .../v1/validation/validation_script_2_of_2.py | 6 ++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_1_of_2.py create mode 100644 datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_2_of_2.py diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/ValidationScriptRunnerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/ValidationScriptRunnerTest.java index 9f88263ebec..b3ea6fe26aa 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/ValidationScriptRunnerTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/ValidationScriptRunnerTest.java @@ -36,6 +36,12 @@ public class ValidationScriptRunnerTest extends AssertJUnit public static final String BASIC_VALIDATION_SCRIPT = SCRIPTS_FOLDER + "basic-validation-script.py"; + public static final String SPLITTED_VALIDATION_SCRIPT_1 = SCRIPTS_FOLDER + + "validation_script_1_of_2.py"; + + public static final String SPLITTED_VALIDATION_SCRIPT_2 = SCRIPTS_FOLDER + + "validation_script_2_of_2.py"; + public static final String VALID_DATA_SET = TEST_DATA_FOLDER + "/valid-data-set"; public static final String INVALID_DATA_SET = TEST_DATA_FOLDER + "/invalid-data-set"; @@ -51,6 +57,17 @@ public class ValidationScriptRunnerTest extends AssertJUnit assertTrue("The valid data set should have no errors", errors.isEmpty()); } + @Test + public void testMultipleScriptsValidationOnValidDataSet() + { + ValidationScriptRunner scriptRunner = + ValidationScriptRunner.createValidatorFromScriptPaths(new String[] + { SPLITTED_VALIDATION_SCRIPT_1, SPLITTED_VALIDATION_SCRIPT_2 }); + List<ValidationError> errors = scriptRunner.validate(new File(VALID_DATA_SET)); + + assertTrue("The valid data set should have no errors", errors.isEmpty()); + } + @Test public void testBasicValidationOnInvalidDataSet() { @@ -63,7 +80,19 @@ public class ValidationScriptRunnerTest extends AssertJUnit ValidationError error = errors.get(0); assertEquals("No file named valid-file.txt was found in invalid-data-set", error.getErrorMessage()); - } + @Test + public void testMultipleScriptsValidationOnInvalidDataSet() + { + ValidationScriptRunner scriptRunner = + ValidationScriptRunner.createValidatorFromScriptPaths(new String[] + { SPLITTED_VALIDATION_SCRIPT_1, SPLITTED_VALIDATION_SCRIPT_2 }); + List<ValidationError> errors = scriptRunner.validate(new File(INVALID_DATA_SET)); + + assertEquals(1, errors.size()); + ValidationError error = errors.get(0); + assertEquals("No file named valid-file.txt was found in invalid-data-set", + error.getErrorMessage()); + } } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_1_of_2.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_1_of_2.py new file mode 100644 index 00000000000..f366397b82b --- /dev/null +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_1_of_2.py @@ -0,0 +1,9 @@ +import os; + +def find_match(directory): + found_match = False; + for filename in os.listdir(directory.getAbsolutePath()): + if 'valid-file.txt' == filename: + found_match = True + break + return found_match; diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_2_of_2.py b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_2_of_2.py new file mode 100644 index 00000000000..de431d3c1d9 --- /dev/null +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/v1/validation/validation_script_2_of_2.py @@ -0,0 +1,6 @@ +def validate_data_set_file(file): + result = [] + if not find_match(file): + result.append(createFileValidationError("No file named valid-file.txt was found in " + file.getName())) + + return result \ No newline at end of file -- GitLab