From 75e5d15ad45c70d60b3ceb46bbc003170e3eb7b0 Mon Sep 17 00:00:00 2001
From: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
Date: Fri, 25 Sep 2026 18:33:30 +0100
Subject: [PATCH 1/2] init
---
pom.xml | 2 +-
.../scripts/ScriptApprovalTest.java | 18 +++++++-----------
2 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/pom.xml b/pom.xml
index b462cf73..985e499f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
999999-SNAPSHOT
2.479
- ${jenkins.baseline}.3
+ 2.583-rc38676.23f0901562e4
jenkinsci/${project.artifactId}-plugin
true
groovy-sandbox
diff --git a/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java b/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java
index 32945394..14e620a3 100644
--- a/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java
+++ b/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java
@@ -24,6 +24,7 @@
package org.jenkinsci.plugins.scriptsecurity.scripts;
+import org.htmlunit.html.HtmlAnchor;
import org.htmlunit.html.HtmlInput;
import org.htmlunit.html.HtmlPage;
import org.htmlunit.html.HtmlTextArea;
@@ -38,7 +39,6 @@
import hudson.security.ACL;
import hudson.security.ACLContext;
import hudson.security.Permission;
-import hudson.util.VersionNumber;
import hudson.util.FormValidation;
import jenkins.model.Jenkins;
import org.hamcrest.Matchers;
@@ -112,17 +112,13 @@ public void malformedScriptApproval() throws Exception {
JenkinsRule.WebClient wc = r.createWebClient();
HtmlPage managePage = wc.goTo("manage");
- List> scriptApprovalLinks = managePage.getByXPath("//a[@href='scriptApproval']");
- int expectedLinkCount = 2;
- if (Jenkins.getVersion().isNewerThan(new VersionNumber("2.102"))) {
- expectedLinkCount = 1; // https://github.com/jenkinsci/jenkins/pull/2857 made major changes to management page
- }
- assertEquals(expectedLinkCount, scriptApprovalLinks.size()); // the icon link and the textual link
+ List scriptApprovalLinks = managePage.getByXPath("//a[contains(@href, 'scriptApproval')]");
+ assertEquals(1, scriptApprovalLinks.size());
- String managePageBodyText = managePage.getBody().getTextContent();
- assertThat(managePageBodyText, Matchers.containsString("1 dangerous signatures previously approved which ought not have been."));
+ List> dangerousBadges = managePage.getByXPath("//a[contains(@href, 'scriptApproval')]//span[@tooltip='1 approved dangerous signatures']");
+ assertEquals(1, dangerousBadges.size());
- HtmlPage scriptApprovalPage = managePage.getAnchorByHref("scriptApproval").click();
+ HtmlPage scriptApprovalPage = scriptApprovalLinks.get(0).click();
HtmlTextArea approvedTextArea = scriptApprovalPage.getHtmlElementById("approvedSignatures");
HtmlTextArea dangerousTextArea = scriptApprovalPage.getHtmlElementById("dangerousApprovedSignatures");
@@ -131,7 +127,7 @@ public void malformedScriptApproval() throws Exception {
}
@Test public void nothingHappening() throws Exception {
- assertThat(r.createWebClient().goTo("manage").getByXPath("//a[@href='scriptApproval']"), Matchers.empty());
+ assertThat(r.createWebClient().goTo("manage").getByXPath("//a[contains(@href, 'scriptApproval')]"), Matchers.empty());
}
@Issue("SECURITY-1866")
From 79eec6c2154a5e4d91d167f8af063a9dc095edcb Mon Sep 17 00:00:00 2001
From: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
Date: Sat, 26 Sep 2026 11:02:13 +0100
Subject: [PATCH 2/2] Update pom.xml
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 985e499f..b462cf73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
999999-SNAPSHOT
2.479
- 2.583-rc38676.23f0901562e4
+ ${jenkins.baseline}.3
jenkinsci/${project.artifactId}-plugin
true
groovy-sandbox