From ff1691929dfde6ba036affd67bffec0e478ed830 Mon Sep 17 00:00:00 2001 From: Tim Jacomb Date: Tue, 6 Jun 2023 08:33:17 +0100 Subject: [PATCH 1/2] Upgrade HtmlUnit from 2.x to 3.x --- pom.xml | 2 +- .../jenkins/support/SupportActionTest.java | 14 +++++++------- .../jenkins/support/SupportTestUtils.java | 12 ++++++------ .../SupportAutomatedBundleConfigurationTest.java | 8 ++++---- .../support/slowrequest/InflightRequestTest.java | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/pom.xml b/pom.xml index ba0b4d4b8..3e0b30e11 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ org.jenkins-ci.plugins plugin - 4.62 + 4.66 diff --git a/src/test/java/com/cloudbees/jenkins/support/SupportActionTest.java b/src/test/java/com/cloudbees/jenkins/support/SupportActionTest.java index e53598676..a5e36dad6 100644 --- a/src/test/java/com/cloudbees/jenkins/support/SupportActionTest.java +++ b/src/test/java/com/cloudbees/jenkins/support/SupportActionTest.java @@ -7,13 +7,13 @@ import com.cloudbees.jenkins.support.impl.AboutJenkins; import com.cloudbees.jenkins.support.impl.AboutUser; import com.cloudbees.jenkins.support.util.SystemPlatform; -import com.gargoylesoftware.htmlunit.HttpMethod; -import com.gargoylesoftware.htmlunit.Page; -import com.gargoylesoftware.htmlunit.WebRequest; -import com.gargoylesoftware.htmlunit.WebResponse; -import com.gargoylesoftware.htmlunit.html.HtmlButton; -import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.html.HtmlPage; +import org.htmlunit.HttpMethod; +import org.htmlunit.Page; +import org.htmlunit.WebRequest; +import org.htmlunit.WebResponse; +import org.htmlunit.html.HtmlButton; +import org.htmlunit.html.HtmlForm; +import org.htmlunit.html.HtmlPage; import hudson.ExtensionList; import hudson.Functions; import hudson.model.Label; diff --git a/src/test/java/com/cloudbees/jenkins/support/SupportTestUtils.java b/src/test/java/com/cloudbees/jenkins/support/SupportTestUtils.java index f2a028e3c..7ad62db83 100644 --- a/src/test/java/com/cloudbees/jenkins/support/SupportTestUtils.java +++ b/src/test/java/com/cloudbees/jenkins/support/SupportTestUtils.java @@ -6,12 +6,12 @@ import com.cloudbees.jenkins.support.api.ObjectComponent; import com.cloudbees.jenkins.support.filter.ContentFilter; import com.cloudbees.jenkins.support.filter.PrefilteredContent; -import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; -import com.gargoylesoftware.htmlunit.Page; -import com.gargoylesoftware.htmlunit.html.HtmlButton; -import com.gargoylesoftware.htmlunit.html.HtmlDivision; -import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.html.HtmlPage; +import org.htmlunit.FailingHttpStatusCodeException; +import org.htmlunit.Page; +import org.htmlunit.html.HtmlButton; +import org.htmlunit.html.HtmlDivision; +import org.htmlunit.html.HtmlForm; +import org.htmlunit.html.HtmlPage; import edu.umd.cs.findbugs.annotations.CheckForNull; import hudson.model.AbstractModelObject; import hudson.model.Action; diff --git a/src/test/java/com/cloudbees/jenkins/support/config/SupportAutomatedBundleConfigurationTest.java b/src/test/java/com/cloudbees/jenkins/support/config/SupportAutomatedBundleConfigurationTest.java index f21b60aa2..fbc7fd5df 100644 --- a/src/test/java/com/cloudbees/jenkins/support/config/SupportAutomatedBundleConfigurationTest.java +++ b/src/test/java/com/cloudbees/jenkins/support/config/SupportAutomatedBundleConfigurationTest.java @@ -1,9 +1,9 @@ package com.cloudbees.jenkins.support.config; import com.cloudbees.jenkins.support.api.Component; -import com.gargoylesoftware.htmlunit.html.HtmlElement; -import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.html.HtmlInput; +import org.htmlunit.html.HtmlElement; +import org.htmlunit.html.HtmlForm; +import org.htmlunit.html.HtmlInput; import hudson.lifecycle.RestartNotSupportedException; import org.junit.Rule; import org.junit.Test; @@ -42,7 +42,7 @@ public void testDefaults() { public void testRoundTrip() throws Exception { HtmlForm cfg = j.createWebClient().goTo("supportCore").getFormByName("config"); ((HtmlInput) cfg.getOneHtmlElementByAttribute("input", "name", "enabled")).setChecked(true); - ((HtmlInput) cfg.getOneHtmlElementByAttribute("input", "name", "period")).setValueAttribute("2"); + ((HtmlInput) cfg.getOneHtmlElementByAttribute("input", "name", "period")).setValue("2"); for (HtmlElement element : cfg.getElementsByAttribute("div", "name", "components")) { ((HtmlInput) element.getOneHtmlElementByAttribute("input", "name", "selected")).setChecked(true); } diff --git a/src/test/java/com/cloudbees/jenkins/support/slowrequest/InflightRequestTest.java b/src/test/java/com/cloudbees/jenkins/support/slowrequest/InflightRequestTest.java index 0853fa575..3b8f1c304 100644 --- a/src/test/java/com/cloudbees/jenkins/support/slowrequest/InflightRequestTest.java +++ b/src/test/java/com/cloudbees/jenkins/support/slowrequest/InflightRequestTest.java @@ -1,6 +1,6 @@ package com.cloudbees.jenkins.support.slowrequest; -import com.gargoylesoftware.htmlunit.html.HtmlPage; +import org.htmlunit.html.HtmlPage; import hudson.model.RootAction; import hudson.util.HttpResponses; import org.junit.Rule; From cea7b6d21b842b63205b53fc0e887e6d020eca95 Mon Sep 17 00:00:00 2001 From: Allan Burdajewicz Date: Thu, 22 Jun 2023 09:41:52 +1000 Subject: [PATCH 2/2] Use JenkinsConfiguredWithCodeRule instead of RoundTripAbstractTest --- .../cloudbees/jenkins/support/CasCTest.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/test/java/com/cloudbees/jenkins/support/CasCTest.java b/src/test/java/com/cloudbees/jenkins/support/CasCTest.java index c5aadf5ac..d029456cc 100644 --- a/src/test/java/com/cloudbees/jenkins/support/CasCTest.java +++ b/src/test/java/com/cloudbees/jenkins/support/CasCTest.java @@ -2,21 +2,27 @@ import com.cloudbees.jenkins.support.config.SupportAutomatedBundleConfiguration; import com.cloudbees.jenkins.support.filter.ContentFilters; -import io.jenkins.plugins.casc.misc.RoundTripAbstractTest; -import org.jvnet.hudson.test.RestartableJenkinsRule; +import io.jenkins.plugins.casc.misc.ConfiguredWithCode; +import io.jenkins.plugins.casc.misc.JenkinsConfiguredWithCodeRule; +import org.junit.Rule; +import org.junit.Test; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder; import static org.junit.Assert.assertTrue; -public class CasCTest extends RoundTripAbstractTest { +public class CasCTest { - @Override - protected void assertConfiguredAsExpected(RestartableJenkinsRule restartableJenkinsRule, String s) { - assertTrue("JCasC should have configured support core to anonymize contents, but it didn't", + @Rule + public JenkinsConfiguredWithCodeRule r = new JenkinsConfiguredWithCodeRule(); + + @Test + @ConfiguredWithCode("configuration-as-code.yaml") + public void assertConfiguredAsExpected() { + assertTrue("JCasC should have configured support core to anonymize contents, but it didn't", ContentFilters.get().isEnabled()); - assertTrue("JCasC should have configured support period bundle generation enabled, but it didn't", + assertTrue("JCasC should have configured support period bundle generation enabled, but it didn't", SupportAutomatedBundleConfiguration.get().isEnabled()); assertThat("JCasC should have configured support period bundle generation period, but it didn't", SupportAutomatedBundleConfiguration.get().getPeriod(), @@ -24,7 +30,7 @@ protected void assertConfiguredAsExpected(RestartableJenkinsRule restartableJenk assertThat("JCasC should have configured support period bundle generation period, but it didn't", SupportAutomatedBundleConfiguration.get().getComponentIds(), containsInAnyOrder( - "AboutBrowser", + "AboutBrowser", "AboutJenkins", "AboutUser", "AdministrativeMonitors", @@ -58,8 +64,4 @@ protected void assertConfiguredAsExpected(RestartableJenkinsRule restartableJenk )); } - @Override - protected String stringInLogExpected() { - return ".enabled = true"; - } }