Skip to content

Commit c21e51a

Browse files
Adding additional test showing it handling dependencies in test scope (transitive compile) and a currently failing test for an exclusion scenario.
1 parent 9a2419e commit c21e51a

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

src/test/java/org/openrewrite/java/dependencies/RemoveRedundantDependenciesTest.java

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,61 @@ void removeRedundantMavenDependency() {
7979
);
8080
}
8181

82+
@Test
83+
void removeRedundantMavenDependencyInTestScope() {
84+
rewriteRun(
85+
spec -> spec.recipe(new RemoveRedundantDependencies(
86+
"org.junit.jupiter", "junit-jupiter-engine")),
87+
mavenProject("my-app",
88+
//language=xml
89+
pomXml(
90+
"""
91+
<project>
92+
<modelVersion>4.0.0</modelVersion>
93+
94+
<groupId>com.mycompany.app</groupId>
95+
<artifactId>my-app</artifactId>
96+
<version>1</version>
97+
98+
<dependencies>
99+
<dependency>
100+
<groupId>org.junit.jupiter</groupId>
101+
<artifactId>junit-jupiter-engine</artifactId>
102+
<version>6.0.1</version>
103+
<scope>test</scope>
104+
</dependency>
105+
<dependency>
106+
<groupId>org.junit.jupiter</groupId>
107+
<artifactId>junit-jupiter-api</artifactId>
108+
<version>6.0.1</version>
109+
<scope>test</scope>
110+
</dependency>
111+
</dependencies>
112+
</project>
113+
""",
114+
"""
115+
<project>
116+
<modelVersion>4.0.0</modelVersion>
117+
118+
<groupId>com.mycompany.app</groupId>
119+
<artifactId>my-app</artifactId>
120+
<version>1</version>
121+
122+
<dependencies>
123+
<dependency>
124+
<groupId>org.junit.jupiter</groupId>
125+
<artifactId>junit-jupiter-engine</artifactId>
126+
<version>6.0.1</version>
127+
<scope>test</scope>
128+
</dependency>
129+
</dependencies>
130+
</project>
131+
"""
132+
)
133+
)
134+
);
135+
}
136+
82137
@Test
83138
void removeMultipleRedundantDependencies() {
84139
rewriteRun(
@@ -171,6 +226,47 @@ void doNotRemoveWhenVersionsDiffer() {
171226
);
172227
}
173228

229+
@Test
230+
void doNoRemoveWhenExcluded() {
231+
rewriteRun(
232+
spec -> spec.recipe(new RemoveRedundantDependencies(
233+
"com.fasterxml.jackson.core", "jackson-databind")),
234+
mavenProject("my-app",
235+
//language=xml
236+
pomXml(
237+
"""
238+
<project>
239+
<modelVersion>4.0.0</modelVersion>
240+
241+
<groupId>com.mycompany.app</groupId>
242+
<artifactId>my-app</artifactId>
243+
<version>1</version>
244+
245+
<dependencies>
246+
<dependency>
247+
<groupId>com.fasterxml.jackson.core</groupId>
248+
<artifactId>jackson-databind</artifactId>
249+
<version>2.17.0</version>
250+
<exclusions>
251+
<exclusion>
252+
<groupId>com.fasterxml.jackson.core</groupId>
253+
<artifactId>jackson-core</artifactId>
254+
</exclusion>
255+
</exclusions>
256+
</dependency>
257+
<dependency>
258+
<groupId>com.fasterxml.jackson.core</groupId>
259+
<artifactId>jackson-core</artifactId>
260+
<version>2.17.0</version>
261+
</dependency>
262+
</dependencies>
263+
</project>
264+
"""
265+
)
266+
)
267+
);
268+
}
269+
174270
@Test
175271
void doNotRemoveDirectDependencyItself() {
176272
rewriteRun(

0 commit comments

Comments
 (0)