From ec393ec3a8dfd5bbdd0cb28cdaccafe41db0265f Mon Sep 17 00:00:00 2001 From: Jente Sondervorst Date: Mon, 23 Feb 2026 13:43:29 +0100 Subject: [PATCH 1/2] Use flexible version assertions in ChangeDependencyGroupIdAndArtifactIdTest Three tests were failing because they hardcoded version 2.21.0 for jackson-jakarta-rs-json-provider, but Maven Central now resolves 2.x to 2.21.1. Switch to using spec.after() with regex pattern matching to extract and validate the resolved version dynamically. --- ...ngeDependencyGroupIdAndArtifactIdTest.java | 184 ++++++++++-------- 1 file changed, 103 insertions(+), 81 deletions(-) diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java index 8b41b4bb5bd..8efd6329c67 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java @@ -22,6 +22,10 @@ import org.openrewrite.test.RewriteTest; import org.openrewrite.test.SourceSpec; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.openrewrite.java.Assertions.mavenProject; import static org.openrewrite.maven.Assertions.pomXml; @@ -3329,33 +3333,39 @@ void versionNotDroppedWhenDependencyExcludedByOtherDependency() { """, - """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2 - 2.2.20 - provided - - - com.fasterxml.jackson.jaxrs - * - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - 2.21.0 - - - - """ + spec -> spec.after(after -> { + Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); + assertThat(matcher.find()).isTrue(); + String version = matcher.group(1); + assertThat(version).matches("2\\.\\d+\\.\\d+"); + return """ + + 4.0.0 + com.mycompany.app + my-app + 1 + + + io.swagger.core.v3 + swagger-jaxrs2 + 2.2.20 + provided + + + com.fasterxml.jackson.jaxrs + * + + + + + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + %s + + + + """.formatted(version); + }) ) ); } @@ -3405,33 +3415,39 @@ void versionNotDroppedWhenTransitiveDependencyHasManagedVersion() { """, - """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.20 - provided - - - com.fasterxml.jackson.jaxrs - * - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - 2.21.0 - - - - """ + spec -> spec.after(after -> { + Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); + assertThat(matcher.find()).isTrue(); + String version = matcher.group(1); + assertThat(version).matches("2\\.\\d+\\.\\d+"); + return """ + + 4.0.0 + com.mycompany.app + my-app + 1 + + + io.swagger.core.v3 + swagger-jaxrs2-jakarta + 2.2.20 + provided + + + com.fasterxml.jackson.jaxrs + * + + + + + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + %s + + + + """.formatted(version); + }) ) ); } @@ -3574,33 +3590,39 @@ void exclusionUpdatedWhenDependencyGroupIdChanges() { """, - """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.20 - provided - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - 2.21.0 - - - - """ + spec -> spec.after(after -> { + Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); + assertThat(matcher.find()).isTrue(); + String version = matcher.group(1); + assertThat(version).matches("2\\.\\d+\\.\\d+"); + return """ + + 4.0.0 + com.mycompany.app + my-app + 1 + + + io.swagger.core.v3 + swagger-jaxrs2-jakarta + 2.2.20 + provided + + + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + + + + + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-json-provider + %s + + + + """.formatted(version); + }) ) ); } From c45e70143f43754218353afabefa1f0b8f995cca Mon Sep 17 00:00:00 2001 From: Jente Sondervorst Date: Mon, 23 Feb 2026 14:46:53 +0100 Subject: [PATCH 2/2] Simplify to assertThat(actual).containsPattern().actual() style Use the preferred fluent AssertJ pattern that combines groupId, artifactId and version assertions into a single containsPattern call. --- ...ngeDependencyGroupIdAndArtifactIdTest.java | 114 ++---------------- 1 file changed, 12 insertions(+), 102 deletions(-) diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java index 8efd6329c67..f38751da715 100644 --- a/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java +++ b/rewrite-maven/src/test/java/org/openrewrite/maven/ChangeDependencyGroupIdAndArtifactIdTest.java @@ -22,9 +22,6 @@ import org.openrewrite.test.RewriteTest; import org.openrewrite.test.SourceSpec; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; import static org.openrewrite.java.Assertions.mavenProject; @@ -3333,39 +3330,10 @@ void versionNotDroppedWhenDependencyExcludedByOtherDependency() { """, - spec -> spec.after(after -> { - Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); - assertThat(matcher.find()).isTrue(); - String version = matcher.group(1); - assertThat(version).matches("2\\.\\d+\\.\\d+"); - return """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2 - 2.2.20 - provided - - - com.fasterxml.jackson.jaxrs - * - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - %s - - - - """.formatted(version); - }) + spec -> spec.after(actual -> assertThat(actual) + .containsPattern("com\\.fasterxml\\.jackson\\.jakarta\\.rs\\s*jackson-jakarta-rs-json-provider\\s*2\\.\\d+\\.\\d+") + .doesNotContain("2.9.7") + .actual()) ) ); } @@ -3415,39 +3383,10 @@ void versionNotDroppedWhenTransitiveDependencyHasManagedVersion() { """, - spec -> spec.after(after -> { - Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); - assertThat(matcher.find()).isTrue(); - String version = matcher.group(1); - assertThat(version).matches("2\\.\\d+\\.\\d+"); - return """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.20 - provided - - - com.fasterxml.jackson.jaxrs - * - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - %s - - - - """.formatted(version); - }) + spec -> spec.after(actual -> assertThat(actual) + .containsPattern("com\\.fasterxml\\.jackson\\.jakarta\\.rs\\s*jackson-jakarta-rs-json-provider\\s*2\\.\\d+\\.\\d+") + .doesNotContain("2.9.7") + .actual()) ) ); } @@ -3590,39 +3529,10 @@ void exclusionUpdatedWhenDependencyGroupIdChanges() { """, - spec -> spec.after(after -> { - Matcher matcher = Pattern.compile("jackson-jakarta-rs-json-provider\\s*(.+)").matcher(after); - assertThat(matcher.find()).isTrue(); - String version = matcher.group(1); - assertThat(version).matches("2\\.\\d+\\.\\d+"); - return """ - - 4.0.0 - com.mycompany.app - my-app - 1 - - - io.swagger.core.v3 - swagger-jaxrs2-jakarta - 2.2.20 - provided - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - - - - - com.fasterxml.jackson.jakarta.rs - jackson-jakarta-rs-json-provider - %s - - - - """.formatted(version); - }) + spec -> spec.after(actual -> assertThat(actual) + .containsPattern("com\\.fasterxml\\.jackson\\.jakarta\\.rs\\s*jackson-jakarta-rs-json-provider\\s*2\\.\\d+\\.\\d+") + .doesNotContain("2.9.7") + .actual()) ) ); }