def test_workflow_spec_cache_update_via_workbook_service(self): wb_text = """ version: '2.0' name: wb workflows: wf: tasks: task1: action: std.echo output="Echo" """ wb_service.create_workbook_v2(wb_text) self.assertEqual(0, spec_parser.get_wf_execution_spec_cache_size()) self.assertEqual(0, spec_parser.get_wf_definition_spec_cache_size()) wf = db_api.get_workflow_definition('wb.wf') wf_spec = spec_parser.get_workflow_spec_by_definition_id( wf.id, wf.updated_at) self.assertEqual(1, len(wf_spec.get_tasks())) self.assertEqual(0, spec_parser.get_wf_execution_spec_cache_size()) self.assertEqual(1, spec_parser.get_wf_definition_spec_cache_size()) # Now update workflow definition and check that cache is updated too. wb_text = """ version: '2.0' name: wb workflows: wf: tasks: task1: action: std.echo output="1" task2: action: std.echo output="2" """ wb_service.update_workbook_v2(wb_text) self.assertEqual(0, spec_parser.get_wf_execution_spec_cache_size()) self.assertEqual(1, spec_parser.get_wf_definition_spec_cache_size()) wf = db_api.get_workflow_definition(wf.id) wf_spec = spec_parser.get_workflow_spec_by_definition_id( wf.id, wf.updated_at) self.assertEqual(2, len(wf_spec.get_tasks())) self.assertEqual(0, spec_parser.get_wf_execution_spec_cache_size()) self.assertEqual(2, spec_parser.get_wf_definition_spec_cache_size())
def test_workflow_spec_cache_update_via_workbook_service(self): wb_text = """ version: '2.0' name: wb workflows: wf: tasks: task1: action: std.echo output="Echo" """ wb_service.create_workbook_v2(wb_text) self.assertEqual(0, spec_parser.get_workflow_spec_cache_size()) wf = db_api.get_workflow_definition('wb.wf') wf_spec = spec_parser.get_workflow_spec_by_id(wf.id) self.assertEqual(1, len(wf_spec.get_tasks())) self.assertEqual(1, spec_parser.get_workflow_spec_cache_size()) # Now update workflow definition and check that cache is updated too. wb_text = """ version: '2.0' name: wb workflows: wf: tasks: task1: action: std.echo output="1" task2: action: std.echo output="2" """ wb_service.update_workbook_v2(wb_text) self.assertEqual(1, spec_parser.get_workflow_spec_cache_size()) wf_spec = spec_parser.get_workflow_spec_by_id(wf.id) self.assertEqual(2, len(wf_spec.get_tasks())) self.assertEqual(1, spec_parser.get_workflow_spec_cache_size())
def test_update_workbook(self): # Create workbook. wb_db = wb_service.create_workbook_v2(WORKBOOK) self.assertIsNotNone(wb_db) self.assertEqual(2, len(db_api.get_workflow_definitions())) # Update workbook. wb_db = wb_service.update_workbook_v2(UPDATED_WORKBOOK) self.assertIsNotNone(wb_db) self.assertEqual('my_wb', wb_db.name) self.assertEqual(UPDATED_WORKBOOK, wb_db.definition) self.assertListEqual(['test'], wb_db.tags) db_wfs = db_api.get_workflow_definitions() self.assertEqual(2, len(db_wfs)) # Workflow 1. wf1_db = self._assert_single_item(db_wfs, name='my_wb.wf1') wf1_spec = spec_parser.get_workflow_spec(wf1_db.spec) self.assertEqual('wf1', wf1_spec.get_name()) self.assertEqual('direct', wf1_spec.get_type()) # Workflow 2. wf2_db = self._assert_single_item(db_wfs, name='my_wb.wf2') wf2_spec = spec_parser.get_workflow_spec(wf2_db.spec) self.assertEqual('wf2', wf2_spec.get_name()) self.assertEqual('reverse', wf2_spec.get_type())
def put(self): """Update a workbook.""" definition = pecan.request.text LOG.info("Update workbook [definition=%s]" % definition) wb_db = workbooks.update_workbook_v2(definition) return Workbook.from_dict(wb_db.to_dict()).to_string()
def put(self): """Update a workbook.""" definition = pecan.request.text LOG.info("Update workbook [definition=%s]" % definition) wb_db = workbooks.update_workbook_v2(definition) return Workbook.from_dict(wb_db.to_dict()).to_string()
def put(self): """Update a workbook.""" acl.enforce('workbooks:update', context.ctx()) definition = pecan.request.text LOG.info("Update workbook [definition=%s]" % definition) wb_db = workbooks.update_workbook_v2(definition) return Workbook.from_dict(wb_db.to_dict()).to_json()
def put(self): """Update a workbook.""" acl.enforce('workbooks:update', context.ctx()) definition = pecan.request.text LOG.info("Update workbook [definition=%s]" % definition) wb_db = workbooks.update_workbook_v2(definition) return resources.Workbook.from_dict(wb_db.to_dict()).to_json()
def put(self): """Update a workbook.""" acl.enforce('workbooks:update', context.ctx()) definition = pecan.request.text LOG.debug("Update workbook [definition=%s]", definition) wb_db = workbooks.update_workbook_v2(definition) return resources.Workbook.from_db_model(wb_db).to_json()