Upgrade WireMock to 4.x
Recipe ID
org.openrewrite.java.testing.wiremock.Wiremock3to4MigrationArtifactorg.openrewrite.recipe:rewrite-testing-frameworksUpgrade WireMock to 4.x, which requires Java 17, ships Jetty 12.1 by default, splits JUnit support out into separate modules and makes the primary domain classes immutable. Note that RequestMethod.GET_OR_HEAD is a multi method matcher in 4.x rather than a method named GET_OR_HEAD, so code reading a name off that particular constant needs a look.
Composite recipewiremocktestingMSAL
Add to your build
Get a download tokenThis recipe is Moderne licensed, so the token must belong to a Moderne customer. It replaces YOUR_DOWNLOAD_TOKEN below.
~/.gradle/gradle.properties
codeGenomeUsername=you@example.com
codeGenomeToken=YOUR_DOWNLOAD_TOKEN
build.gradle.kts
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}
rewrite {
activeRecipe("org.openrewrite.java.testing.wiremock.Wiremock3to4Migration")
}
repositories {
mavenCentral()
maven {
url = uri("https://artifacts.codegenomeproject.org/maven")
credentials {
username = providers.gradleProperty("codeGenomeUsername").get()
password = providers.gradleProperty("codeGenomeToken").get()
}
}
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-testing-frameworks:3.49.0")
}
Then run
./gradlew rewriteRunUsage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.testing.wiremock.Wiremock3to4MigrationIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-testing-frameworks:RELEASEDefinition
This recipe runs the following recipes in order.
- Keep a single
Content-Typeresponse header while still on WireMock 3org.openrewrite.java.testing.wiremock.RemoveDuplicateContentTypeHeaders - Upgrade WireMock to 3.x
org.openrewrite.java.testing.wiremock.UpgradeWiremockDependencyVersion - Change Gradle or Maven dependency
org.wiremock:wiremock-jetty12org.openrewrite.java.dependencies.ChangeDependency - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Add Gradle or Maven dependency
org.openrewrite.java.dependencies.AddDependency - Change type
com.github.tomakehurst.wiremock.jetty11.CertificateGeneratingSslContextFactorytocom.github.tomakehurst.wiremock.jetty.ssl.CertificateGeneratingSslContextFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty11.HttpsProxyDetectingHandlertocom.github.tomakehurst.wiremock.jetty.proxy.HttpsProxyDetectingHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty11.ManInTheMiddleSslConnectHandlertocom.github.tomakehurst.wiremock.jetty.proxy.ManInTheMiddleSslConnectHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty11.NotFoundHandlertocom.github.tomakehurst.wiremock.jetty.NotFoundHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty11.SslContextstocom.github.tomakehurst.wiremock.jetty.ssl.SslContextsorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty11.WritableFileOrClasspathKeyStoreSourcetocom.github.tomakehurst.wiremock.common.ssl.WritableFileOrClasspathKeyStoreSourceorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.HttpProxyDetectingHandlertocom.github.tomakehurst.wiremock.jetty.proxy.HttpProxyDetectingHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.HttpsProxyDetectingHandlertocom.github.tomakehurst.wiremock.jetty.proxy.HttpsProxyDetectingHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.Jetty12HttpServertocom.github.tomakehurst.wiremock.jetty.Jetty12HttpServerorg.openrewrite.java.ChangeType - Change type
Jetty12HttpServerFactorytoJettyHttpServerFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.Jetty12HttpUtilstocom.github.tomakehurst.wiremock.jetty.Jetty12HttpUtilsorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.ManInTheMiddleSslConnectHandlertocom.github.tomakehurst.wiremock.jetty.proxy.ManInTheMiddleSslConnectHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty12.NotFoundHandlertocom.github.tomakehurst.wiremock.jetty.NotFoundHandlerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty.JettyFaultInjectortocom.github.tomakehurst.wiremock.jetty.faults.JettyFaultInjectororg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty.JettyFaultInjectorFactorytocom.github.tomakehurst.wiremock.jetty.faults.JettyFaultInjectorFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.jetty.JettyHttpsFaultInjectortocom.github.tomakehurst.wiremock.jetty.faults.JettyHttpsFaultInjectororg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.ContentTypeSettingFiltertocom.github.tomakehurst.wiremock.jetty.servlet.ContentTypeSettingFilterorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.FaultInjectorFactorytocom.github.tomakehurst.wiremock.jetty.servlet.FaultInjectorFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.NoFaultInjectortocom.github.tomakehurst.wiremock.jetty.servlet.NoFaultInjectororg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.NoFaultInjectorFactorytocom.github.tomakehurst.wiremock.jetty.servlet.NoFaultInjectorFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.NotMatchedServlettocom.github.tomakehurst.wiremock.jetty.servlet.NotMatchedServletorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.TrailingSlashFiltertocom.github.tomakehurst.wiremock.jetty.servlet.TrailingSlashFilterorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.WarConfigurationtocom.github.tomakehurst.wiremock.jetty.servlet.WarConfigurationorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.WireMockHandlerDispatchingServlettocom.github.tomakehurst.wiremock.jetty.WireMockHandlerDispatchingServletorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.WireMockHttpServletMultipartAdaptertocom.github.tomakehurst.wiremock.jetty.servlet.WireMockHttpServletMultipartAdapterorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.WireMockHttpServletRequestAdaptertocom.github.tomakehurst.wiremock.jetty.WireMockHttpServletRequestAdapterorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.servlet.WireMockWebContextListenertocom.github.tomakehurst.wiremock.jetty.servlet.WireMockWebContextListenerorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.common.ServletContextFileSourcetocom.github.tomakehurst.wiremock.jetty.servlet.ServletContextFileSourceorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.common.JettySettingstocom.github.tomakehurst.wiremock.jetty.JettySettingsorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.client.ApacheBackedHttpClienttocom.github.tomakehurst.wiremock.http.client.apache5.ApacheBackedHttpClientorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.client.ApacheHttpClientFactorytocom.github.tomakehurst.wiremock.http.client.apache5.ApacheHttpClientFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.NetworkAddressRulesAdheringDnsResolvertocom.github.tomakehurst.wiremock.http.client.apache5.NetworkAddressRulesAdheringDnsResolverorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.ssl.TrustSelfSignedStrategytocom.github.tomakehurst.wiremock.http.client.apache5.TrustSelfSignedStrategyorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.HttpClientFactorytocom.github.tomakehurst.wiremock.http.client.HttpClientFactoryorg.openrewrite.java.ChangeType - Change type
com.github.tomakehurst.wiremock.http.MimeTypetocom.github.tomakehurst.wiremock.common.entity.MimeTypeorg.openrewrite.java.ChangeType - Replace WireMock constructors removed in 4.x
org.openrewrite.java.testing.wiremock.ReplaceRemovedConstructors - Replace WireMock setter calls with
transform()org.openrewrite.java.testing.wiremock.ReplaceSettersWithTransform - Migrate the
uuidfield in WireMock stub mapping files toidorg.openrewrite.java.testing.wiremock.MigrateStubMappingUuidToId - Preserve the UTF-8 default of
ContentTypeHeader.charset()org.openrewrite.java.testing.wiremock.MigrateContentTypeHeaderCharset - Migrate
RequestMethod.isOneOfto the matcher it becameorg.openrewrite.java.testing.wiremock.MigrateRequestMethodIsOneOf - Change method name
com.github.tomakehurst.wiremock.stubbing.StubMapping getUuid()togetIdorg.openrewrite.java.ChangeMethodName - Change method name
com.github.tomakehurst.wiremock.http.RequestMethod value()togetNameorg.openrewrite.java.ChangeMethodName
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats