1717
1818package org .apache .dolphinscheduler .plugin .task .api ;
1919
20+ import org .apache .dolphinscheduler .plugin .task .api .enums .TaskExecutionStatus ;
21+ import org .apache .dolphinscheduler .plugin .task .api .parameters .AbstractParameters ;
22+ import org .apache .dolphinscheduler .plugin .task .api .parameters .SubWorkflowParameters ;
23+
2024import java .util .regex .Matcher ;
2125import java .util .regex .Pattern ;
2226
@@ -38,4 +42,44 @@ public void testFindFlinkJobId() {
3842 Assertions .assertEquals (jobId , str .substring (6 ));
3943 }
4044
45+ @ Test
46+ public void testGetExitStatus () {
47+ AbstractTask task = new TestTask ();
48+
49+ task .setExitStatusCode (TaskConstants .EXIT_CODE_SUCCESS );
50+ Assertions .assertEquals (TaskExecutionStatus .SUCCESS , task .getExitStatus ());
51+
52+ task .setExitStatusCode (TaskConstants .EXIT_CODE_KILL );
53+ Assertions .assertEquals (TaskExecutionStatus .KILL , task .getExitStatus ());
54+
55+ task .setExitStatusCode (TaskConstants .EXIT_CODE_HARD_KILL );
56+ Assertions .assertEquals (TaskExecutionStatus .KILL , task .getExitStatus ());
57+
58+ task .setExitStatusCode (TaskConstants .EXIT_CODE_SIGINT_KILL );
59+ Assertions .assertEquals (TaskExecutionStatus .KILL , task .getExitStatus ());
60+
61+ task .setExitStatusCode (TaskConstants .EXIT_CODE_FAILURE );
62+ Assertions .assertEquals (TaskExecutionStatus .FAILURE , task .getExitStatus ());
63+ }
64+
65+ private static final class TestTask extends AbstractTask {
66+
67+ private TestTask () {
68+ super (new TaskExecutionContext ());
69+ }
70+
71+ @ Override
72+ public void handle (TaskCallBack taskCallBack ) {
73+ }
74+
75+ @ Override
76+ public void cancel () {
77+ }
78+
79+ @ Override
80+ public AbstractParameters getParameters () {
81+ return new SubWorkflowParameters ();
82+ }
83+ }
84+
4185}
0 commit comments