diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/main/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/main/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParameters.java index dee73d10ea36..e8f1e80cac41 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/main/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParameters.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/main/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParameters.java @@ -33,7 +33,7 @@ public class ShellParameters extends AbstractParameters { @Override public boolean checkParameters() { - return rawScript != null && !rawScript.isEmpty(); + return rawScript != null && !rawScript.trim().isEmpty(); } @Override diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/test/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParametersTest.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/test/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParametersTest.java index a64449bd0c77..7bb7f0e6b763 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/test/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParametersTest.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-shell/src/test/java/org/apache/dolphinscheduler/plugin/task/shell/ShellParametersTest.java @@ -18,6 +18,8 @@ package org.apache.dolphinscheduler.plugin.task.shell; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.dolphinscheduler.plugin.task.api.enums.DataType; import org.apache.dolphinscheduler.plugin.task.api.enums.Direct; @@ -74,4 +76,32 @@ void dealOutParamTest_taskOutputOverrideOut() { assertEquals("b", varPool.get(0).getValue()); } + @Test + void checkParametersTest_nullRawScript() { + ShellParameters shellParameters = new ShellParameters(); + shellParameters.setRawScript(null); + assertFalse(shellParameters.checkParameters()); + } + + @Test + void checkParametersTest_emptyRawScript() { + ShellParameters shellParameters = new ShellParameters(); + shellParameters.setRawScript(""); + assertFalse(shellParameters.checkParameters()); + } + + @Test + void checkParametersTest_validRawScript() { + ShellParameters shellParameters = new ShellParameters(); + shellParameters.setRawScript("echo hello"); + assertTrue(shellParameters.checkParameters()); + } + + @Test + void checkParametersTest_whitespaceOnlyRawScript() { + ShellParameters shellParameters = new ShellParameters(); + shellParameters.setRawScript(" \n\t "); + assertFalse(shellParameters.checkParameters()); + } + }