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