|
@@ -0,0 +1,75 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+"""Test Task MR."""
|
|
|
+
|
|
|
+from unittest.mock import patch
|
|
|
+
|
|
|
+from pydolphinscheduler.tasks.map_reduce import MR, ProgramType
|
|
|
+
|
|
|
+
|
|
|
+@patch(
|
|
|
+ "pydolphinscheduler.core.engine.Engine.get_resource_info",
|
|
|
+ return_value=({"id": 1, "name": "test"}),
|
|
|
+)
|
|
|
+def test_mr_get_define(mock_resource):
|
|
|
+ """Test task mr function get_define."""
|
|
|
+ code = 123
|
|
|
+ version = 1
|
|
|
+ name = "test_mr_get_define"
|
|
|
+ main_class = "org.apache.mr.test_main_class"
|
|
|
+ main_package = "test_main_package"
|
|
|
+ program_type = ProgramType.JAVA
|
|
|
+ main_args = "/dolphinscheduler/resources/file.txt /output/ds"
|
|
|
+
|
|
|
+ expect = {
|
|
|
+ "code": code,
|
|
|
+ "name": name,
|
|
|
+ "version": 1,
|
|
|
+ "description": None,
|
|
|
+ "delayTime": 0,
|
|
|
+ "taskType": "MR",
|
|
|
+ "taskParams": {
|
|
|
+ "mainClass": main_class,
|
|
|
+ "mainJar": {
|
|
|
+ "id": 1,
|
|
|
+ },
|
|
|
+ "programType": program_type,
|
|
|
+ "appName": None,
|
|
|
+ "mainArgs": main_args,
|
|
|
+ "others": None,
|
|
|
+ "localParams": [],
|
|
|
+ "resourceList": [],
|
|
|
+ "dependence": {},
|
|
|
+ "conditionResult": {"successNode": [""], "failedNode": [""]},
|
|
|
+ "waitStartTimeout": {},
|
|
|
+ },
|
|
|
+ "flag": "YES",
|
|
|
+ "taskPriority": "MEDIUM",
|
|
|
+ "workerGroup": "default",
|
|
|
+ "failRetryTimes": 0,
|
|
|
+ "failRetryInterval": 1,
|
|
|
+ "timeoutFlag": "CLOSE",
|
|
|
+ "timeoutNotifyStrategy": None,
|
|
|
+ "timeout": 0,
|
|
|
+ }
|
|
|
+ with patch(
|
|
|
+ "pydolphinscheduler.core.task.Task.gen_code_and_version",
|
|
|
+ return_value=(code, version),
|
|
|
+ ):
|
|
|
+ task = MR(name, main_class, main_package, program_type, main_args=main_args)
|
|
|
+ assert task.get_define() == expect
|