def _pipeline_helper(self): action = Action(id=1) workflow = Workflow(id=1, actions=[action]) stage = Stage(id=1, workflows=[workflow]) pipeline = Pipeline(id=1, stages=[stage]) return action, workflow, stage, pipeline
def get_workflows(self, json, pipeline, stage, session): workflows = [] if 'workflows' in json: for tmp_workflow in json['workflows']: workflow = Workflow( **{"name": tmp_workflow['name'], 'active': tmp_workflow['active'], "order": len(workflows), "stage_id": stage.id}) session.add(workflow) session.flush() workflow.actions.extend(self.get_actions(tmp_workflow, pipeline, workflow, session)) workflows.append(workflow) return workflows
def test_create_action_instance_with_no_slicing(self): workflow_engine = InstanceWorkflowEngine(Mock(), Mock()) workflow_instance = WorkflowInstance(id=1) workflow = Workflow(actions=[ Action(slices=0, id=1, cmd="test1"), Action(slices=0, id=2, cmd="test2") ]) workflow_engine._create_action_instances(Mock(id=1), workflow_instance, workflow) eq_(2, len(workflow_instance.action_instances)) eq_('test1', workflow_instance.action_instances[0].cmd) eq_(StatusConstants.READY, workflow_instance.action_instances[0].status_id) eq_('test2', workflow_instance.action_instances[1].cmd) eq_(StatusConstants.NEW, workflow_instance.action_instances[1].status_id)
def test_create_action_instance_with_slicing_before(self): workflow_engine = InstanceWorkflowEngine(Mock(), Mock()) workflow_instance = WorkflowInstance(id=1) workflow = Workflow(actions=[ Action(slices=4, id=1, cmd="test1"), Action(slices=0, id=2, cmd="test2") ]) workflow_engine._create_action_instances(Mock(id=1), workflow_instance, workflow) eq_(5, len(workflow_instance.action_instances)) for i in range(0, 4): eq_('test1', workflow_instance.action_instances[i].cmd) eq_(StatusConstants.READY, workflow_instance.action_instances[i].status_id) eq_('test2', workflow_instance.action_instances[4].cmd) eq_(StatusConstants.NEW, workflow_instance.action_instances[4].status_id)
def test_get_actions(self): action = Action() workflow = Workflow(actions=[action]) workflow_engine = WorkflowEngine(Mock()) eq_([action], workflow_engine._get_actions(workflow))
def test_get_workflows(self): workflow = Workflow() stage = Stage(workflows=[workflow]) workflow_engine = WorkflowEngine(Mock()) eq_([workflow], workflow_engine._get_workflows(stage))