From 268038feb09248f7e5fcd13b42f58afa1927540e Mon Sep 17 00:00:00 2001 From: Andrew Bayer Date: Tue, 17 Apr 2018 13:12:14 -0400 Subject: [PATCH] Fix approval link count check for newer core versions https://github.com/jenkinsci/jenkins/pull/2857 reworked the management page, so that from core 2.103 onward, there's only one `scriptApproval` link where there had been two. So only look for 1 link in relevant core versions while still looking for two in earlier versions. --- .../scriptsecurity/scripts/ScriptApprovalTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 ada50b312..b78fe6811 100644 --- a/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java +++ b/src/test/java/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApprovalTest.java @@ -26,6 +26,8 @@ import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.HtmlTextArea; +import hudson.util.VersionNumber; +import jenkins.model.Jenkins; import org.hamcrest.Matchers; import org.jenkinsci.plugins.scriptsecurity.sandbox.Whitelist; import org.jenkinsci.plugins.scriptsecurity.scripts.languages.GroovyLanguage; @@ -87,7 +89,11 @@ public void malformedScriptApproval() throws Exception { HtmlPage managePage = wc.goTo("manage"); List scriptApprovalLinks = managePage.getByXPath("//a[@href='scriptApproval']"); - assertEquals(2, scriptApprovalLinks.size()); // the icon link and the textual link + 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 String managePageBodyText = managePage.getBody().getTextContent(); assertThat(managePageBodyText, Matchers.containsString("1 dangerous signatures previously approved which ought not have been."));