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, }, )
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)
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 })
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)
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)
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)
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)
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)