diff --git a/pom.xml b/pom.xml
index 61a1a7f..538ab55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
io.jenkins.tools.bom
bom-${jenkins.baseline}.x
- 3814.v9563d972079a_
+ 3850.vb_c5319efa_e29
pom
import
@@ -92,18 +92,6 @@
throttle-concurrents
test
-
- org.junit.jupiter
- junit-jupiter
- 5.10.0
- test
-
-
- org.mockito
- mockito-inline
- 4.0.0
- test
-
@@ -120,4 +108,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameter.java b/src/main/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameter.java
index a66f924..787957e 100644
--- a/src/main/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameter.java
+++ b/src/main/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameter.java
@@ -38,12 +38,12 @@ public Action getAction(AbstractBuild, ?> build, TaskListener listener) throws
labelExpanded = TokenMacro.expandAll(build, listener, labelExpanded);
} catch (MacroEvaluationException e) {
labelExpanded = nodeLabel;
- listener.getLogger().println("Token expansion failed.");
e.printStackTrace(listener.getLogger());
}
LabelParameterValue parameterValue =
new LabelParameterValue(name, labelExpanded, false, new AllNodeEligibility());
listener.getLogger().println("define: " + parameterValue);
+
return new ParametersAction(parameterValue);
}
@@ -54,4 +54,4 @@ public String getDisplayName() {
return "NodeLabel parameter";
}
}
-}
+}
\ No newline at end of file
diff --git a/src/test/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameterTest.java b/src/test/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameterTest.java
index 00d303f..da1af81 100644
--- a/src/test/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameterTest.java
+++ b/src/test/java/org/jvnet/jenkins/plugins/nodelabelparameter/parameterizedtrigger/NodeLabelBuildParameterTest.java
@@ -23,9 +23,6 @@
*/
package org.jvnet.jenkins.plugins.nodelabelparameter.parameterizedtrigger;
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
import hudson.model.AbstractBuild;
import hudson.model.Action;
import hudson.model.AutoCompletionCandidates;
@@ -45,11 +42,11 @@
import hudson.tasks.BuildStepMonitor;
import hudson.tasks.BuildWrapper;
import hudson.util.FormValidation;
+import hudson.util.StreamTaskListener;
+import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
-import org.jenkinsci.plugins.tokenmacro.MacroEvaluationException;
-import org.jenkinsci.plugins.tokenmacro.TokenMacro;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -62,7 +59,6 @@
import org.jvnet.jenkins.plugins.nodelabelparameter.NodeParameterValue;
import org.jvnet.jenkins.plugins.nodelabelparameter.node.AllNodeEligibility;
import org.jvnet.jenkins.plugins.nodelabelparameter.wrapper.TriggerNextBuildWrapper;
-import org.mockito.Mockito;
public class NodeLabelBuildParameterTest {
@@ -279,26 +275,24 @@ public void testValidateBuildNoExceptionIfConcurrentBuildsAllowed() throws Excep
@Test
public void testMacroEvaluationExceptionHandling() throws Exception {
- String name = "TestName";
- String nodeLabel = "DefaultLabel";
+ String name = "Dummy";
+ String nodeLabel = "${TEST, arg = \"a \n b \r\n c\"}\n";
+ // nodeLabel string causes the MacroEvaluationException to occur
NodeLabelBuildParameter nodeLabelBuildParameter = new NodeLabelBuildParameter(name, nodeLabel);
- // Mock the AbstractBuild, TaskListener and its logger
- AbstractBuild, ?> build = mock(AbstractBuild.class);
- TaskListener listener = mock(TaskListener.class);
- PrintStream logger = mock(PrintStream.class);
- when(listener.getLogger()).thenReturn(logger);
-
- // Mock TokenMacro to throw MacroEvaluationException
- Mockito.mockStatic(TokenMacro.class);
- when(TokenMacro.expandAll(build, listener, nodeLabel))
- .thenThrow(new MacroEvaluationException("Token expansion failed."));
-
- Action result = nodeLabelBuildParameter.getAction(build, listener);
-
- // Verify
- assertNotNull(result, "The result action should not be null.");
- verify(listener.getLogger(), times(1)).println(contains("define:"));
- verify(logger, atLeastOnce()).println(contains("Token expansion failed."));
+
+ ByteArrayOutputStream logStream = new ByteArrayOutputStream();
+ TaskListener listener = new StreamTaskListener(new PrintStream(logStream));
+
+ FreeStyleProject project = j.createFreeStyleProject("projectB");
+ FreeStyleBuild build = new FreeStyleBuild(project);
+ AbstractBuild, ?> abstractBuild = build;
+
+ Action result = nodeLabelBuildParameter.getAction(abstractBuild, listener);
+
+ Assert.assertNotNull("The result action should not be null.", result);
+ String loggedOutput = logStream.toString();
+ Assert.assertTrue(
+ loggedOutput, loggedOutput.contains("org.jenkinsci.plugins.tokenmacro.MacroEvaluationException"));
}
@Test