Skip to content

Commit 4f6cdd9

Browse files
committed
Add RemoveJupiterMigrationSupport recipe
1 parent ec085aa commit 4f6cdd9

4 files changed

Lines changed: 190 additions & 0 deletions

File tree

-48 Bytes
Binary file not shown.

src/main/resources/META-INF/rewrite/junit-jupiter.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,21 @@ recipeList:
4646
- org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement
4747
- org.openrewrite.java.testing.junit5.AssertTrueInstanceofToAssertInstanceOf
4848
- org.openrewrite.java.testing.junit5.UseAssertSame
49+
50+
---
51+
type: specs.openrewrite.org/v1beta/recipe
52+
name: org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport
53+
displayName: Remove JUnit Jupiter migrationsupport
54+
description: Remove JUnit Jupiter migrationsupport.
55+
preconditions:
56+
- org.openrewrite.Singleton
57+
tags:
58+
- testing
59+
- junit
60+
recipeList:
61+
- org.openrewrite.java.dependencies.RemoveDependency:
62+
groupId: org.junit.jupiter
63+
artifactId: junit-jupiter-migrationsupport
64+
- org.openrewrite.maven.RemoveManagedDependency:
65+
groupId: org.junit.jupiter
66+
artifactId: junit-jupiter-migrationsupport

src/main/resources/META-INF/rewrite/recipes.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,5 +250,6 @@ maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.tes
250250
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.byteman.BytemanJUnit4ToBytemanJUnit5,Use Byteman JUnit 5 dependency,Migrates Byteman JUnit 4 to JUnit 5.,3,Byteman,Testing,Java,,,Basic building blocks for transforming Java code.,,
251251
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.datafaker.JavaFakerToDataFaker,Migrate from Java Faker to Datafaker,Change imports and dependencies related to Java Faker to Datafaker replacements.,6,DataFaker,Testing,Java,Recipes for migrating from JavaFaker to [DataFaker](https://www.datafaker.net/).,,Basic building blocks for transforming Java code.,,
252252
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.junit.JupiterBestPractices,JUnit Jupiter best practices,Applies best practices to tests.,44,Junit,Testing,Java,,,Basic building blocks for transforming Java code.,,
253+
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport,Remove JUnit Jupiter migrationsupport,Remove JUnit Jupiter migrationsupport.,3,Junit,Testing,Java,,,Basic building blocks for transforming Java code.,,
253254
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.junit.JUnit6BestPractices,JUnit 6 best practices,Applies best practices to tests.,102,Junit,Testing,Java,,,Basic building blocks for transforming Java code.,,"[{""name"":""org.openrewrite.maven.table.MavenMetadataFailures"",""displayName"":""Maven metadata failures"",""instanceName"":""Maven metadata failures"",""description"":""Attempts to resolve maven metadata that failed."",""columns"":[{""name"":""group"",""type"":""String"",""displayName"":""Group id"",""description"":""The groupId of the artifact for which the metadata download failed.""},{""name"":""artifactId"",""type"":""String"",""displayName"":""Artifact id"",""description"":""The artifactId of the artifact for which the metadata download failed.""},{""name"":""version"",""type"":""String"",""displayName"":""Version"",""description"":""The version of the artifact for which the metadata download failed.""},{""name"":""mavenRepositoryUri"",""type"":""String"",""displayName"":""Maven repository"",""description"":""The URL of the Maven repository that the metadata download failed on.""},{""name"":""snapshots"",""type"":""String"",""displayName"":""Snapshots"",""description"":""Does the repository support snapshots.""},{""name"":""releases"",""type"":""String"",""displayName"":""Releases"",""description"":""Does the repository support releases.""},{""name"":""failure"",""type"":""String"",""displayName"":""Failure"",""description"":""The reason the metadata download failed.""}]}]"
254255
maven,org.openrewrite.recipe:rewrite-testing-frameworks,org.openrewrite.java.testing.wiremock.UpgradeWiremockDependencyVersion,Upgrade WireMock to 3.x,Migrate WireMock dependencies from the old `com.github.tomakehurst` coordinates to the new `org.wiremock` coordinates. WireMock 3.x changed its Maven coordinates and requires Java 11 or higher. Old 2.x versions contain CVE-2023-44487.,5,Wiremock,Testing,Java,,,Basic building blocks for transforming Java code.,,
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
/*
2+
* Copyright 2026 the original author or authors.
3+
* <p>
4+
* Licensed under the Moderne Source Available License (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
* <p>
8+
* https://docs.moderne.io/licensing/moderne-source-available-license
9+
* <p>
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.openrewrite.java.testing.junit;
17+
18+
import org.junit.jupiter.api.Test;
19+
import org.openrewrite.DocumentExample;
20+
import org.openrewrite.test.RewriteTest;
21+
22+
import static org.openrewrite.gradle.Assertions.buildGradle;
23+
import static org.openrewrite.gradle.toolingapi.Assertions.withToolingApi;
24+
import static org.openrewrite.java.Assertions.mavenProject;
25+
import static org.openrewrite.maven.Assertions.pomXml;
26+
27+
class RemoveJupiterMigrationSupportTest implements RewriteTest {
28+
29+
@DocumentExample
30+
@Test
31+
void removesDependencyFromMavenPomXml() {
32+
rewriteRun(
33+
spec -> spec.recipeFromResource(
34+
"/META-INF/rewrite/junit-jupiter.yml",
35+
"org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport"),
36+
mavenProject("project",
37+
//language=xml
38+
pomXml(
39+
"""
40+
<project>
41+
<modelVersion>4.0.0</modelVersion>
42+
<groupId>com.example</groupId>
43+
<artifactId>demo</artifactId>
44+
<version>0.0.1-SNAPSHOT</version>
45+
<dependencies>
46+
<dependency>
47+
<groupId>org.junit.jupiter</groupId>
48+
<artifactId>junit-jupiter-migrationsupport</artifactId>
49+
<version>5.9.3</version>
50+
<scope>test</scope>
51+
</dependency>
52+
</dependencies>
53+
</project>
54+
""",
55+
"""
56+
<project>
57+
<modelVersion>4.0.0</modelVersion>
58+
<groupId>com.example</groupId>
59+
<artifactId>demo</artifactId>
60+
<version>0.0.1-SNAPSHOT</version>
61+
</project>
62+
"""
63+
)
64+
)
65+
);
66+
}
67+
68+
@Test
69+
void removesManagedDependency() {
70+
rewriteRun(
71+
spec -> spec.recipeFromResource(
72+
"/META-INF/rewrite/junit-jupiter.yml",
73+
"org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport"),
74+
mavenProject("project",
75+
//language=xml
76+
pomXml(
77+
"""
78+
<project>
79+
<modelVersion>4.0.0</modelVersion>
80+
<groupId>com.example</groupId>
81+
<artifactId>demo</artifactId>
82+
<version>0.0.1-SNAPSHOT</version>
83+
<dependencyManagement>
84+
<dependencies>
85+
<dependency>
86+
<groupId>org.junit.jupiter</groupId>
87+
<artifactId>junit-jupiter-migrationsupport</artifactId>
88+
<version>5.9.3</version>
89+
</dependency>
90+
</dependencies>
91+
</dependencyManagement>
92+
</project>
93+
""",
94+
"""
95+
<project>
96+
<modelVersion>4.0.0</modelVersion>
97+
<groupId>com.example</groupId>
98+
<artifactId>demo</artifactId>
99+
<version>0.0.1-SNAPSHOT</version>
100+
</project>
101+
"""
102+
)
103+
)
104+
);
105+
}
106+
107+
@Test
108+
void removesDependencyFromGradleBuild() {
109+
rewriteRun(
110+
spec -> spec
111+
.recipeFromResource(
112+
"/META-INF/rewrite/junit-jupiter.yml",
113+
"org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport")
114+
.beforeRecipe(withToolingApi()),
115+
//language=groovy
116+
buildGradle(
117+
"""
118+
plugins {
119+
id 'java-library'
120+
}
121+
repositories {
122+
mavenCentral()
123+
}
124+
dependencies {
125+
testImplementation 'org.junit.jupiter:junit-jupiter-migrationsupport:5.9.3'
126+
}
127+
""",
128+
"""
129+
plugins {
130+
id 'java-library'
131+
}
132+
repositories {
133+
mavenCentral()
134+
}
135+
dependencies {
136+
}
137+
"""
138+
)
139+
);
140+
}
141+
142+
@Test
143+
void noChangeWhenDependencyAbsent() {
144+
rewriteRun(
145+
spec -> spec.recipeFromResource(
146+
"/META-INF/rewrite/junit-jupiter.yml",
147+
"org.openrewrite.java.testing.junit.RemoveJupiterMigrationSupport"),
148+
mavenProject("project",
149+
//language=xml
150+
pomXml(
151+
"""
152+
<project>
153+
<modelVersion>4.0.0</modelVersion>
154+
<groupId>com.example</groupId>
155+
<artifactId>demo</artifactId>
156+
<version>0.0.1-SNAPSHOT</version>
157+
<dependencies>
158+
<dependency>
159+
<groupId>org.junit.jupiter</groupId>
160+
<artifactId>junit-jupiter-api</artifactId>
161+
<version>5.9.3</version>
162+
<scope>test</scope>
163+
</dependency>
164+
</dependencies>
165+
</project>
166+
"""
167+
)
168+
)
169+
);
170+
}
171+
}

0 commit comments

Comments
 (0)