def test_workflow_execute_pipelines(self): context = Context() context.config['apply_processing_jobs'] = True context.sm_definitions = None pipeline_preprocessing = PipeLine(None) pipeline_preprocessing.run = Mock() pipeline_processing = PipeLine(None) pipeline_processing.run = Mock() workflow = Workflow(pipeline_preprocessing, pipeline_processing) # Mocking a generator method sm_filter = MagicMock() sm_filter.filter_eqs.return_value.__iter__.return_value = \ iter([(dict(a=1), [1]), ((dict(b=2), [2]))]) workflow.start(context, sm_filter) self.assertTrue(workflow.preprocessing_pipeline.run.called) self.assertTrue(sm_filter.filter_eqs.called) self.assertTrue(pipeline_processing.run.called) self.assertEqual(2, pipeline_processing.run.call_count)
from mtoolkit.catalog_filter import CatalogFilter, SourceModelCatalogFilter if __name__ == '__main__': CMD_LINE_ARGS = cmd_line() if CMD_LINE_ARGS: INPUT_CONFIG_FILENAME = CMD_LINE_ARGS.input_file[0] LOG_LEVEL = logging.DEBUG if CMD_LINE_ARGS.detailed else logging.INFO build_logger(LOG_LEVEL) CONTEXT = Context(INPUT_CONFIG_FILENAME) PIPELINE_PREPROCESSING = PreprocessingBuilder().build(CONTEXT.config) PIPELINE_PROCESSING = ProcessingBuilder().build(CONTEXT.config) if CONTEXT.config['source_model_file']: CATALOG_FILTER = CatalogFilter(SourceModelCatalogFilter()) else: CATALOG_FILTER = CatalogFilter() WORKFLOW = Workflow(PIPELINE_PREPROCESSING, PIPELINE_PROCESSING) WORKFLOW.start(CONTEXT, CATALOG_FILTER) WRITER = AreaSourceWriter(CONTEXT.config['result_file']) WRITER.serialize(CONTEXT.sm_definitions)
if __name__ == '__main__': CMD_LINE_ARGS = cmd_line() if CMD_LINE_ARGS: INPUT_CONFIG_FILENAME = CMD_LINE_ARGS.input_file[0] LOG_LEVEL = logging.DEBUG if CMD_LINE_ARGS.detailed else logging.INFO build_logger(LOG_LEVEL) CONTEXT = Context(INPUT_CONFIG_FILENAME) PIPELINE_PREPROCESSING = PreprocessingBuilder().build(CONTEXT.config) PIPELINE_PROCESSING = ProcessingBuilder().build(CONTEXT.config) if CONTEXT.config['source_model_file']: CATALOG_FILTER = CatalogFilter(SourceModelCatalogFilter()) else: CATALOG_FILTER = CatalogFilter() WORKFLOW = Workflow(PIPELINE_PREPROCESSING, PIPELINE_PROCESSING) WORKFLOW.start(CONTEXT, CATALOG_FILTER) WRITER = AreaSourceWriter(CONTEXT.config['result_file']) WRITER.serialize(CONTEXT.sm_definitions)