diff --git a/crc/services/error_service.py b/crc/services/error_service.py index 3810ea5a..94308cf2 100644 --- a/crc/services/error_service.py +++ b/crc/services/error_service.py @@ -22,7 +22,10 @@ known_errors = {'Non-default exclusive outgoing sequence flow without condition 'for the property.'}, 'Error opening excel file .*, with file_model_id:': {'hint': 'It looks like you are trying to use an older xls file. ' - 'Try uploading a newer xlsx file.'}} + 'Try uploading a newer xlsx file.'}, + 'Failed to parse the Workflow Specification. Error is \'The process \'(.+)\' was not found. Did you mean one of the following: .*': + {'hint': 'The workflow spec could not be parsed. If you are loading a library, check whether the name is correct.'} + } class ValidationErrorService(object): diff --git a/tests/data/missing_library/missing_library.bpmn b/tests/data/missing_library/missing_library.bpmn new file mode 100644 index 00000000..63bd3326 --- /dev/null +++ b/tests/data/missing_library/missing_library.bpmn @@ -0,0 +1,75 @@ + + + + + Flow_1w8il3k + + + + + Flow_0zy8gri + Flow_0mtrjqf + + + ## Multiple +{{ multiple }} + + Flow_0mtrjqf + Flow_0zy8247 + + + + Flow_0zy8247 + + + + + + + + + + + + + + Flow_1w8il3k + Flow_0zy8gri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/missing_library/multiply.bpmn b/tests/data/missing_library/multiply.bpmn new file mode 100644 index 00000000..0bb8e1f2 --- /dev/null +++ b/tests/data/missing_library/multiply.bpmn @@ -0,0 +1,42 @@ + + + + + Flow_1ncal2l + + + + Flow_1q7r744 + + + + Flow_1ncal2l + Flow_1q7r744 + multiple = num_1 * num_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/workflow/test_workflow_missing_library.py b/tests/workflow/test_workflow_missing_library.py new file mode 100644 index 00000000..c4dab5fb --- /dev/null +++ b/tests/workflow/test_workflow_missing_library.py @@ -0,0 +1,16 @@ +from tests.base_test import BaseTest +from example_data import ExampleDataLoader + + +class TestDuplicateWorkflowSpecFile(BaseTest): + + def test_duplicate_workflow_spec_file(self): + spec1 = ExampleDataLoader().create_spec('missing_library', 'Missing Library', category_id=0, library=False, + from_tests=True) + workflow = self.create_workflow('missing_library') + with self.assertRaises(AssertionError) as ae: + workflow_api = self.get_workflow_api(workflow) + # task = workflow_api.next_task + # self.complete_form(workflow, task, {'num_1': 4, 'num_2': 5}) + + print('test_duplicate_workflow_spec_file') \ No newline at end of file