Example #1
0
    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
Example #2
0
 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
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
 def test_get_actions(self):
     action = Action()
     workflow = Workflow(actions=[action])
     workflow_engine = WorkflowEngine(Mock())
     eq_([action], workflow_engine._get_actions(workflow))
Example #6
0
    def test_get_workflows(self):
        workflow = Workflow()
        stage = Stage(workflows=[workflow])

        workflow_engine = WorkflowEngine(Mock())
        eq_([workflow], workflow_engine._get_workflows(stage))