Exemple #1
0
    def test_raise(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        dispatcher.dispatch = MagicMock(side_effect=Exception("exception"))
        dispatcher_init = MagicMock(return_value=dispatcher)

        action = "action"
        node_id = "node_id"
        username = "******"

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER, dispatcher_init):
            result = taskflow.nodes_action(action=action,
                                           node_id=node_id,
                                           username=username)

        dispatcher_init.assert_called_once_with(engine_ver=taskflow.engine_ver,
                                                node_id=node_id,
                                                taskflow_id=1)
        dispatcher.dispatch.assert_called_once_with(action, username)
        self.assertEqual(
            result,
            {
                "result": False,
                "message":
                "task[id=1] node[id=node_id] action failed: exception",
                "code": err_code.UNKNOWN_ERROR.code,
            },
        )
Exemple #2
0
    def test_success(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        dispatch_return = {"result": True, "data": {"data": "data"}}
        dispatcher.dispatch = MagicMock(return_value=dispatch_return)
        dispatcher_init = MagicMock(return_value=dispatcher)

        node_id = "node_id"
        username = "******"
        inputs = "inputs"

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER, dispatcher_init):
            detail = taskflow.spec_nodes_timer_reset(node_id=node_id,
                                                     username=username,
                                                     inputs=inputs)

        dispatcher_init.assert_called_once_with(engine_ver=taskflow.engine_ver,
                                                node_id=node_id,
                                                taskflow_id=1)
        dispatcher.dispatch.assert_has_calls([
            call(command="forced_fail", operator=username),
            call(command="retry", operator=username, inputs="inputs")
        ])
        self.assertEqual(detail, dispatch_return)
Exemple #3
0
    def test_success(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        get_node_data_return = {"result": True, "data": {"data": "data"}}
        get_node_detail_return = {"result": True, "data": {"detail": "detail"}}
        dispatcher.get_node_data = MagicMock(return_value=get_node_data_return)
        dispatcher.get_node_detail = MagicMock(
            return_value=get_node_detail_return)
        dispatcher_init = MagicMock(return_value=dispatcher)

        node_id = "node_id"
        username = "******"
        component_code = "component_code"
        subprocess_stack = ["1"]
        loop = 1
        include_data = True

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER, dispatcher_init):
            detail = taskflow.get_node_detail(
                node_id=node_id,
                username=username,
                component_code=component_code,
                subprocess_stack=subprocess_stack,
                loop=loop,
                include_data=include_data,
                project_id="project_id",
            )

        dispatcher_init.assert_called_once_with(engine_ver=taskflow.engine_ver,
                                                node_id=node_id,
                                                taskflow_id=1)
        dispatcher.get_node_data.assert_called_once_with(
            username=username,
            component_code=component_code,
            subprocess_stack=subprocess_stack,
            pipeline_instance=taskflow.pipeline_instance,
            loop=loop,
            project_id="project_id",
        )
        dispatcher.get_node_detail.assert_called_once_with(
            username=username,
            component_code=component_code,
            subprocess_stack=subprocess_stack,
            pipeline_instance=taskflow.pipeline_instance,
            loop=loop,
        )
        self.assertEqual(
            detail, {
                "code": 0,
                "data": {
                    "data": "data",
                    "detail": "detail"
                },
                "message": "",
                "result": True
            })
Exemple #4
0
    def test_node_does_not_exist(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.has_node = MagicMock(return_value=False)

        detail = taskflow.callback(node_id="node_id", data="data")
        self.assertFalse(detail["result"])
        self.assertEqual(detail["code"], err_code.REQUEST_PARAM_INVALID.code)
    def test_node_does_not_exist(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.has_node = MagicMock(return_value=False)

        data = taskflow.get_node_data(node_id="node_id", username="******")
        self.assertFalse(data["result"])
        self.assertEqual(data["code"], err_code.REQUEST_PARAM_INVALID.code)
Exemple #6
0
    def test_node_does_not_exist(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.has_node = MagicMock(return_value=False)

        detail = taskflow.spec_nodes_timer_reset(node_id="node_id",
                                                 username="******",
                                                 inputs="inputs")
        self.assertFalse(detail["result"])
        self.assertEqual(detail["code"], err_code.REQUEST_PARAM_INVALID.code)
Exemple #7
0
    def test_get_node_data_err(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        get_node_data_return = {"result": False}
        dispatcher.get_node_data = MagicMock(return_value=get_node_data_return)

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER,
                   MagicMock(return_value=dispatcher)):
            detail = taskflow.get_node_detail(node_id="node_id",
                                              username="******",
                                              project_id="project_id")

        self.assertEqual(detail, get_node_data_return)
Exemple #8
0
    def test_success(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        dispatch_return = {"result": True, "data": {"data": "data"}}
        dispatcher.dispatch = MagicMock(return_value=dispatch_return)
        dispatcher_init = MagicMock(return_value=dispatcher)

        node_id = "node_id"
        data = "data"
        version = "version"

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER, dispatcher_init):
            result = taskflow.callback(node_id=node_id, data=data, version=version)

        dispatcher_init.assert_called_once_with(engine_ver=taskflow.engine_ver, node_id=node_id, taskflow_id=1)
        dispatcher.dispatch.assert_called_once_with(command="callback", operator="", data=data, version=version)
        self.assertEqual(result, dispatch_return)
Exemple #9
0
    def test_success(self):
        taskflow = TaskFlowInstance()
        taskflow.id = 1
        taskflow.engine_ver = 2
        taskflow.has_node = MagicMock(return_value=True)
        dispatcher = MagicMock()
        dispatch_return = {"result": True, "data": {"data": "data"}}
        dispatcher.dispatch = MagicMock(return_value=dispatch_return)
        dispatcher_init = MagicMock(return_value=dispatcher)

        action = "action"
        node_id = "node_id"
        username = "******"

        with patch(TASKFLOW_MODEL_NODE_CMD_DISPATCHER, dispatcher_init):
            result = taskflow.nodes_action(action=action,
                                           node_id=node_id,
                                           username=username)

        dispatcher_init.assert_called_once_with(engine_ver=taskflow.engine_ver,
                                                node_id=node_id,
                                                taskflow_id=1)
        dispatcher.dispatch.assert_called_once_with(action, username)
        self.assertEqual(result, dispatch_return)