def test_build_policies_with_workflow_defaults(self): wb_spec = spec_parser.get_workbook_spec_from_yaml(WB_WITH_DEFAULTS) wf_spec = wb_spec.get_workflows()['wf1'] task_spec = wf_spec.get_tasks()['task1'] arr = policies.build_policies(task_spec.get_policies(), wf_spec) self.assertEqual(4, len(arr)) p = self._assert_single_item(arr, delay=3) self.assertIsInstance(p, policies.WaitBeforePolicy) p = self._assert_single_item(arr, delay=5) self.assertIsInstance(p, policies.WaitAfterPolicy) p = self._assert_single_item(arr, delay=1) self.assertIsInstance(p, policies.RetryPolicy) self.assertEqual(2, p.count) p = self._assert_single_item(arr, delay=7) self.assertIsInstance(p, policies.TimeoutPolicy)
def update_workbook_v2(definition, scope="private"): values = _get_workbook_values(spec_parser.get_workbook_spec_from_yaml(definition), definition, scope) with db_api_v2.transaction(): wb_db = db_api_v2.update_workbook(values["name"], values) _on_workbook_update(wb_db, values) return wb_db
def update_workbook_v2(definition, scope='private'): values = _get_workbook_values( spec_parser.get_workbook_spec_from_yaml(definition), definition, scope) with db_api_v2.transaction(): wb_db = db_api_v2.update_workbook(values['name'], values) _on_workbook_update(wb_db, values) return wb_db
def create_workbook_v2(definition, scope='private'): wb_spec = spec_parser.get_workbook_spec_from_yaml(definition) wb_values = _get_workbook_values(wb_spec, definition, scope) with db_api_v2.transaction(): wb_db = db_api_v2.create_workbook(wb_values) _on_workbook_update(wb_db, wb_spec) return wb_db
def update_workbook_v2(definition, scope='private'): wb_spec = spec_parser.get_workbook_spec_from_yaml(definition) values = _get_workbook_values(wb_spec, definition, scope) with db_api_v2.transaction(): wb_db = db_api_v2.update_workbook(values['name'], values) _, db_wfs = _on_workbook_update(wb_db, wb_spec) return wb_db
def create_workbook_v2(definition, scope='private'): wb_values = _get_workbook_values( spec_parser.get_workbook_spec_from_yaml(definition), definition, scope ) with db_api_v2.transaction(): wb_db = db_api_v2.create_workbook(wb_values) _on_workbook_update(wb_db, wb_values) return wb_db
def update_workbook_v2(definition, scope='private'): wb_spec = spec_parser.get_workbook_spec_from_yaml(definition) values = _get_workbook_values(wb_spec, definition, scope) with db_api_v2.transaction(): wb_db = db_api_v2.update_workbook(values['name'], values) _, db_wfs = _on_workbook_update(wb_db, wb_spec) # Once transaction has committed we need to update specification cache. for db_wf, wf_spec in zip(db_wfs, wb_spec.get_workflows()): spec_parser.update_workflow_cache(db_wf.id, wf_spec) return wb_db
def setUp(self): super(DirectWorkflowControllerTest, self).setUp() wb_spec = spec_parser.get_workbook_spec_from_yaml(WB) wf_ex = models.WorkflowExecution() wf_ex.update({ 'id': '1-2-3-4', 'spec': wb_spec.get_workflows().get('wf').to_dict(), 'state': states.RUNNING }) self.wf_ex = wf_ex self.wb_spec = wb_spec self.wf_ctrl = d_wf.DirectWorkflowController(wf_ex)
def setUp(self): super(ReverseWorkflowControllerTest, self).setUp() wb_spec = spec_parser.get_workbook_spec_from_yaml(WB) wf_ex = models.WorkflowExecution( id='1-2-3-4', spec=wb_spec.get_workflows().get('wf').to_dict(), state=states.RUNNING, params={} ) self.wf_ex = wf_ex self.wb_spec = wb_spec self.wf_ctrl = reverse_wf.ReverseWorkflowController(wf_ex)
def setUp(self): super(ReverseWorkflowControllerTest, self).setUp() wb_service.create_workbook_v2(WB) wf_def = db_api.get_workflow_definitions()[0] wb_spec = spec_parser.get_workbook_spec_from_yaml(WB) wf_ex = models.WorkflowExecution( id='1-2-3-4', spec=wb_spec.get_workflows().get('wf').to_dict(), state=states.RUNNING, params={}, workflow_id=wf_def.id) self.wf_ex = wf_ex self.wb_spec = wb_spec
def setUp(self): super(PoliciesTest, self).setUp() self.wb_spec = spec_parser.get_workbook_spec_from_yaml(WORKBOOK) self.wf_spec = self.wb_spec.get_workflows()['wf1'] self.task_spec = self.wf_spec.get_tasks()['task1']
def setUp(self): super(WorkflowResumeTest, self).setUp() self.wb_spec = spec_parser.get_workbook_spec_from_yaml(RESUME_WORKBOOK) self.wf_spec = self.wb_spec.get_workflows()['wf1']
def setUp(self): super(ReverseWorkflowControllerTest, self).setUp() wb_service.create_workbook_v2(WB) self.wb_spec = spec_parser.get_workbook_spec_from_yaml(WB)