diff --git a/src/test/java/org/openrewrite/java/apache/httpclient5/NamespaceChangesTest.java b/src/test/java/org/openrewrite/java/apache/httpclient5/NamespaceChangesTest.java
index 8a51eee6..822b1759 100644
--- a/src/test/java/org/openrewrite/java/apache/httpclient5/NamespaceChangesTest.java
+++ b/src/test/java/org/openrewrite/java/apache/httpclient5/NamespaceChangesTest.java
@@ -21,52 +21,96 @@
import org.openrewrite.test.RecipeSpec;
import org.openrewrite.test.RewriteTest;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.assertj.core.api.Assertions.assertThat;
import static org.openrewrite.java.Assertions.java;
+import static org.openrewrite.maven.Assertions.pomXml;
-public class NamespaceChangesTest implements RewriteTest {
+class NamespaceChangesTest implements RewriteTest {
@Override
public void defaults(RecipeSpec spec) {
spec
- .parser(JavaParser.fromJavaVersion()
- .classpath("httpclient", "httpcore", "httpclient5", "httpcore5")
- )
+ .parser(JavaParser.fromJavaVersion().classpath(
+ "httpclient", "httpcore",
+ "httpclient5", "httpcore5"))
.recipe(Environment.builder()
- .scanRuntimeClasspath("org.openrewrite", "org.openrewrite.java", "org.openrewrite.java.dependencies")
+ .scanRuntimeClasspath("org.openrewrite")
.build()
- .activateRecipes("org.openrewrite.java.apache.httpclient5.UpgradeApacheHttpClient_5_ClassMapping")
+ .activateRecipes("org.openrewrite.java.apache.httpclient5.UpgradeApacheHttpClient_5")
);
}
@Test
- void testSomeImports() {
+ void migrateDependencies() {
+ rewriteRun(
+ //language=xml
+ pomXml("""
+
+ 4.0.0
+ org.example
+ example
+ 1.0.0
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.14
+
+
+
+ """, spec -> spec.after(pom -> {
+ Matcher version = Pattern.compile("5\\.1\\.\\d+").matcher(pom);
+ assertThat(version.find()).describedAs("Expected 5.1.x in %s", pom).isTrue();
+ return """
+
+ 4.0.0
+ org.example
+ example
+ 1.0.0
+
+
+ org.apache.httpcomponents.client5
+ httpclient5
+ %s
+
+
+
+ """.formatted(version.group(0));
+ })));
+ }
+
+ @Test
+ void importReplacementsInGroupsWithSomeSpecificMappings() {
rewriteRun(
- //language=java
- java("""
- import org.apache.http.HttpEntity;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.methods.HttpUriRequest;
- import org.apache.http.util.EntityUtils;
-
- class A {
- void method(HttpEntity entity, String urlStr) {
- HttpUriRequest getRequest = new HttpGet(urlStr);
- EntityUtils.consume(entity);
- }
+ //language=java
+ java("""
+ import org.apache.http.HttpEntity;
+ import org.apache.http.client.methods.HttpGet;
+ import org.apache.http.client.methods.HttpUriRequest;
+ import org.apache.http.util.EntityUtils;
+
+ class A {
+ void method(HttpEntity entity, String urlStr) throws Exception {
+ HttpUriRequest getRequest = new HttpGet(urlStr);
+ EntityUtils.consume(entity);
}
- ""","""
- import org.apache.hc.core5.http.io.entity.EntityUtils;
- import org.apache.hc.core5.http.HttpEntity;
- import org.apache.hc.client5.http.classic.methods.HttpGet;
- import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
-
- class A {
- void method(HttpEntity entity, String urlStr) {
- HttpUriRequest getRequest = new HttpGet(urlStr);
- EntityUtils.consume(entity);
- }
+ }
+ """, """
+ import org.apache.hc.core5.http.io.entity.EntityUtils;
+ import org.apache.hc.core5.http.HttpEntity;
+ import org.apache.hc.client5.http.classic.methods.HttpGet;
+ import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
+
+ class A {
+ void method(HttpEntity entity, String urlStr) throws Exception {
+ HttpUriRequest getRequest = new HttpGet(urlStr);
+ EntityUtils.consume(entity);
}
- """)
+ }
+ """)
);
}
}