From 25453b80e595044dd14298ecf0cc1f3bfcffb3d2 Mon Sep 17 00:00:00 2001 From: Mark Waite Date: Sun, 4 Dec 2022 12:00:56 -0700 Subject: [PATCH] [JENKINS-69935] Set correct NODE_NAME on controller (#242) --- .../service/EnvInjectVariableGetter.java | 2 +- .../EnvInjectVariableGetterSystemTest.java | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetterSystemTest.java diff --git a/src/main/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetter.java b/src/main/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetter.java index 4fea0c56..7a4d0511 100644 --- a/src/main/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetter.java +++ b/src/main/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetter.java @@ -62,7 +62,7 @@ public static Map getJenkinsSystemEnvVars(boolean forceOnMaster) if (computer != null) { result = computer.getEnvironment().overrideAll(result); if(computer instanceof MasterComputer) { - result.put("NODE_NAME", "master"); + result.put("NODE_NAME", Jenkins.get().getSelfLabel().getName()); } else { result.put("NODE_NAME", computer.getName()); } diff --git a/src/test/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetterSystemTest.java b/src/test/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetterSystemTest.java new file mode 100644 index 00000000..2803b114 --- /dev/null +++ b/src/test/java/org/jenkinsci/plugins/envinject/service/EnvInjectVariableGetterSystemTest.java @@ -0,0 +1,34 @@ +package org.jenkinsci.plugins.envinject.service; + +import java.util.Map; +import jenkins.model.Jenkins; +import org.jenkinsci.plugins.envinject.service.EnvInjectVariableGetter; +import org.junit.Rule; +import org.junit.Test; +import org.jvnet.hudson.test.Issue; +import org.jvnet.hudson.test.JenkinsRule; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasEntry; +import static org.hamcrest.Matchers.hasKey; +import static org.hamcrest.Matchers.is; + +/** + * @author Mark Waite + */ +public class EnvInjectVariableGetterSystemTest { + + @Rule + public JenkinsRule jenkinsRule = new JenkinsRule(); + + @Issue("JENKINS-69795") + @Test + public void testSystemEnvVars() throws Exception { + boolean forceOnMaster = true; + Map systemEnvVars = EnvInjectVariableGetter.getJenkinsSystemEnvVars(forceOnMaster); + assertThat(systemEnvVars, hasKey("NODE_NAME")); + assertThat("Wrong NODE_NAME value", systemEnvVars.get("NODE_NAME"), is(Jenkins.get().getSelfLabel().getName())); + assertThat(systemEnvVars, hasKey("NODE_LABELS")); + assertThat("Wrong NODE_LABELS value", systemEnvVars.get("NODE_LABELS"), is(Jenkins.get().getSelfLabel().getName())); + } +}