Skip to content

Commit 8f92d7d

Browse files
committed
Close things in tests
1 parent 2339155 commit 8f92d7d

File tree

12 files changed

+512
-433
lines changed

12 files changed

+512
-433
lines changed

src/funcTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ApplicationTest.kt

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.github.jengelman.gradle.plugins.shadow
22

3+
import assertk.all
34
import assertk.assertThat
45
import assertk.assertions.contains
56
import assertk.assertions.containsAtLeast
67
import assertk.assertions.exists
78
import assertk.assertions.isEqualTo
8-
import assertk.assertions.isNotEmpty
99
import com.github.jengelman.gradle.plugins.shadow.util.containsEntries
10+
import com.github.jengelman.gradle.plugins.shadow.util.isRegular
11+
import com.github.jengelman.gradle.plugins.shadow.util.useAll
1012
import kotlin.io.path.appendText
1113
import kotlin.io.path.readText
1214
import kotlin.io.path.writeText
@@ -36,23 +38,27 @@ class ApplicationTest : BasePluginTest() {
3638

3739
val result = run(runShadowTask)
3840

39-
assertThat(result.output).contains("Running application with JDK 17")
40-
assertThat(result.output).contains("TestApp: Hello World! (foo)")
41-
42-
val installedJar = jarPath("build/install/myapp-shadow/lib/myapp-1.0-all.jar")
43-
assertThat(installedJar).containsEntries(
44-
"a.properties",
45-
"a2.properties",
46-
"myapp/Main.class",
41+
assertThat(result.output).contains(
42+
"Running application with JDK 17",
43+
"TestApp: Hello World! (foo)",
4744
)
48-
assertThat(installedJar.manifest.mainAttributes.getValue("Main-Class"))
49-
.isEqualTo("myapp.Main")
5045

51-
path("build/install/myapp-shadow/bin/myapp").let { startScript ->
52-
assertThat(startScript).exists()
53-
assertThat(startScript.readText()).contains("CLASSPATH=\$APP_HOME/lib/myapp-1.0-all.jar")
54-
assertThat(startScript.readText()).contains("-jar \"\\\"\$CLASSPATH\\\"\" \"\$APP_ARGS\"")
55-
assertThat(startScript.readText()).contains("exec \"\$JAVACMD\" \"\$@\"")
46+
assertThat(jarPath("build/install/myapp-shadow/lib/myapp-1.0-all.jar")).useAll {
47+
containsEntries(
48+
"a.properties",
49+
"a2.properties",
50+
"myapp/Main.class",
51+
)
52+
transform { it.manifest.mainAttributes.getValue("Main-Class") }.isEqualTo("myapp.Main")
53+
}
54+
55+
assertThat(path("build/install/myapp-shadow/bin/myapp")).all {
56+
exists()
57+
transform { it.readText() }.contains(
58+
"CLASSPATH=\$APP_HOME/lib/myapp-1.0-all.jar",
59+
"-jar \"\\\"\$CLASSPATH\\\"\" \"\$APP_ARGS\"",
60+
"exec \"\$JAVACMD\" \"\$@\"",
61+
)
5662
}
5763
}
5864

@@ -84,7 +90,7 @@ class ApplicationTest : BasePluginTest() {
8490

8591
run(ShadowApplicationPlugin.SHADOW_INSTALL_TASK_NAME)
8692

87-
assertThat(jarPath("build/install/myapp-shadow/lib/myapp-1.0-all.jar").entries().toList()).isNotEmpty()
93+
assertThat(jarPath("build/install/myapp-shadow/lib/myapp-1.0-all.jar")).isRegular()
8894
}
8995

9096
private fun prepare(

src/funcTest/kotlin/com/github/jengelman/gradle/plugins/shadow/FilteringTest.kt

Lines changed: 89 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import assertk.assertions.isEqualTo
55
import assertk.assertions.isNotNull
66
import com.github.jengelman.gradle.plugins.shadow.util.containsEntries
77
import com.github.jengelman.gradle.plugins.shadow.util.doesNotContainEntries
8+
import com.github.jengelman.gradle.plugins.shadow.util.useAll
89
import kotlin.io.path.appendText
910
import kotlin.io.path.readText
1011
import kotlin.io.path.writeText
@@ -36,11 +37,13 @@ class FilteringTest : BasePluginTest() {
3637
@Test
3738
fun includeAllDependencies() {
3839
run(shadowJarTask)
39-
assertThat(outputShadowJar).containsEntries(
40-
"a.properties",
41-
"a2.properties",
42-
"b.properties",
43-
)
40+
assertThat(outputShadowJar).useAll {
41+
containsEntries(
42+
"a.properties",
43+
"a2.properties",
44+
"b.properties",
45+
)
46+
}
4447
}
4548

4649
@Test
@@ -55,13 +58,15 @@ class FilteringTest : BasePluginTest() {
5558

5659
run(shadowJarTask)
5760

58-
assertThat(outputShadowJar).containsEntries(
59-
"a.properties",
60-
"b.properties",
61-
)
62-
assertThat(outputShadowJar).doesNotContainEntries(
63-
"a2.properties",
64-
)
61+
assertThat(outputShadowJar).useAll {
62+
containsEntries(
63+
"a.properties",
64+
"b.properties",
65+
)
66+
doesNotContainEntries(
67+
"a2.properties",
68+
)
69+
}
6570
}
6671

6772
@Test
@@ -108,15 +113,17 @@ class FilteringTest : BasePluginTest() {
108113

109114
assertThat(result.task(shadowJarTask)).isNotNull()
110115
.transform { it.outcome }.isEqualTo(TaskOutcome.SUCCESS)
111-
assertThat(outputShadowJar).containsEntries(
112-
"a.properties",
113-
"a2.properties",
114-
"b.properties",
115-
"d.properties",
116-
)
117-
assertThat(outputShadowJar).doesNotContainEntries(
118-
"c.properties",
119-
)
116+
assertThat(outputShadowJar).useAll {
117+
containsEntries(
118+
"a.properties",
119+
"a2.properties",
120+
"b.properties",
121+
"d.properties",
122+
)
123+
doesNotContainEntries(
124+
"c.properties",
125+
)
126+
}
120127
}
121128

122129
@Test
@@ -135,15 +142,17 @@ class FilteringTest : BasePluginTest() {
135142

136143
assertThat(result.task(shadowJarTask)).isNotNull()
137144
.transform { it.outcome }.isEqualTo(TaskOutcome.SUCCESS)
138-
assertThat(outputShadowJar).containsEntries(
139-
"a2.properties",
140-
"b.properties",
141-
"c.properties",
142-
"d.properties",
143-
)
144-
assertThat(outputShadowJar).doesNotContainEntries(
145-
"a.properties",
146-
)
145+
assertThat(outputShadowJar).useAll {
146+
containsEntries(
147+
"a2.properties",
148+
"b.properties",
149+
"c.properties",
150+
"d.properties",
151+
)
152+
doesNotContainEntries(
153+
"a.properties",
154+
)
155+
}
147156
}
148157

149158
@Test
@@ -169,16 +178,18 @@ class FilteringTest : BasePluginTest() {
169178

170179
run(shadowJarTask)
171180

172-
assertThat(outputShadowJar).containsEntries(
173-
"d.properties",
174-
"shadow/Passed.class",
175-
)
176-
assertThat(outputShadowJar).doesNotContainEntries(
177-
"a.properties",
178-
"a2.properties",
179-
"b.properties",
180-
"c.properties",
181-
)
181+
assertThat(outputShadowJar).useAll {
182+
containsEntries(
183+
"d.properties",
184+
"shadow/Passed.class",
185+
)
186+
doesNotContainEntries(
187+
"a.properties",
188+
"a2.properties",
189+
"b.properties",
190+
"c.properties",
191+
)
192+
}
182193
}
183194

184195
@Test
@@ -193,13 +204,15 @@ class FilteringTest : BasePluginTest() {
193204

194205
run(serverShadowJarTask)
195206

196-
assertThat(outputServerShadowJar).doesNotContainEntries(
197-
"client/Client.class",
198-
)
199-
assertThat(outputServerShadowJar).containsEntries(
200-
"server/Server.class",
201-
"junit/framework/Test.class",
202-
)
207+
assertThat(outputServerShadowJar).useAll {
208+
doesNotContainEntries(
209+
"client/Client.class",
210+
)
211+
containsEntries(
212+
"server/Server.class",
213+
"junit/framework/Test.class",
214+
)
215+
}
203216
}
204217

205218
@Test
@@ -214,13 +227,15 @@ class FilteringTest : BasePluginTest() {
214227

215228
run(serverShadowJarTask)
216229

217-
assertThat(outputServerShadowJar).doesNotContainEntries(
218-
"junit/framework/Test.class",
219-
)
220-
assertThat(outputServerShadowJar).containsEntries(
221-
"client/Client.class",
222-
"server/Server.class",
223-
)
230+
assertThat(outputServerShadowJar).useAll {
231+
doesNotContainEntries(
232+
"junit/framework/Test.class",
233+
)
234+
containsEntries(
235+
"client/Client.class",
236+
"server/Server.class",
237+
)
238+
}
224239
}
225240

226241
@Test
@@ -237,13 +252,15 @@ class FilteringTest : BasePluginTest() {
237252

238253
run(shadowJarTask)
239254

240-
assertThat(outputShadowJar).containsEntries(
241-
"a.properties",
242-
"b.properties",
243-
)
244-
assertThat(outputShadowJar).doesNotContainEntries(
245-
"a2.properties",
246-
)
255+
assertThat(outputShadowJar).useAll {
256+
containsEntries(
257+
"a.properties",
258+
"b.properties",
259+
)
260+
doesNotContainEntries(
261+
"a2.properties",
262+
)
263+
}
247264
}
248265

249266
@Test
@@ -272,15 +289,17 @@ class FilteringTest : BasePluginTest() {
272289
}
273290

274291
private fun commonAssertions() {
275-
assertThat(outputShadowJar).containsEntries(
276-
"a.properties",
277-
"a2.properties",
278-
"b.properties",
279-
"c.properties",
280-
)
281-
assertThat(outputShadowJar).doesNotContainEntries(
282-
"d.properties",
283-
)
292+
assertThat(outputShadowJar).useAll {
293+
containsEntries(
294+
"a.properties",
295+
"a2.properties",
296+
"b.properties",
297+
"c.properties",
298+
)
299+
doesNotContainEntries(
300+
"d.properties",
301+
)
302+
}
284303
}
285304

286305
private fun publishArtifactCD(circular: Boolean = false) {

src/funcTest/kotlin/com/github/jengelman/gradle/plugins/shadow/PublishingTest.kt

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.github.jengelman.gradle.plugins.shadow
22

3-
import assertk.all
43
import assertk.assertThat
54
import assertk.assertions.containsOnly
65
import assertk.assertions.isEmpty
@@ -10,6 +9,7 @@ import com.github.jengelman.gradle.plugins.shadow.util.Issue
109
import com.github.jengelman.gradle.plugins.shadow.util.JarPath
1110
import com.github.jengelman.gradle.plugins.shadow.util.containsEntries
1211
import com.github.jengelman.gradle.plugins.shadow.util.doesNotContainEntries
12+
import com.github.jengelman.gradle.plugins.shadow.util.useAll
1313
import com.squareup.moshi.JsonAdapter
1414
import com.squareup.moshi.Moshi
1515
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
@@ -122,18 +122,18 @@ class PublishingTest : BasePluginTest() {
122122

123123
publish()
124124

125-
val publishedJar = repoJarPath("shadow/maven-all/1.0/maven-all-1.0.jar")
126-
assertThat(publishedJar).containsEntries(
127-
"aa.properties",
128-
"aa2.properties",
129-
)
130-
assertThat(publishedJar).doesNotContainEntries(
131-
"a.properties",
132-
"a2.properties",
133-
"b.properties",
134-
"bb.properties",
135-
)
136-
125+
assertThat(repoJarPath("shadow/maven-all/1.0/maven-all-1.0.jar")).useAll {
126+
containsEntries(
127+
"aa.properties",
128+
"aa2.properties",
129+
)
130+
doesNotContainEntries(
131+
"a.properties",
132+
"a2.properties",
133+
"b.properties",
134+
"bb.properties",
135+
)
136+
}
137137
assertPomCommon(repoPath("shadow/maven-all/1.0/maven-all-1.0.pom"))
138138
}
139139

@@ -165,8 +165,12 @@ class PublishingTest : BasePluginTest() {
165165
publish()
166166

167167
val entries = arrayOf("a.properties", "a2.properties", "b.properties")
168-
assertThat(repoJarPath("com/acme/maven/1.0/maven-1.0.jar")).doesNotContainEntries(*entries)
169-
assertThat(repoJarPath("com/acme/maven/1.0/maven-1.0-all.jar")).containsEntries(*entries)
168+
assertThat(repoJarPath("com/acme/maven/1.0/maven-1.0.jar")).useAll {
169+
doesNotContainEntries(*entries)
170+
}
171+
assertThat(repoJarPath("com/acme/maven/1.0/maven-1.0-all.jar")).useAll {
172+
containsEntries(*entries)
173+
}
170174

171175
pomReader.read(repoPath("com/acme/maven/1.0/maven-1.0.pom")).let { pomContents ->
172176
assertThat(pomContents.dependencies.size).isEqualTo(2)
@@ -278,7 +282,7 @@ class PublishingTest : BasePluginTest() {
278282
}
279283

280284
private fun assertShadowJarCommon(jarPath: JarPath) {
281-
assertThat(jarPath).all {
285+
assertThat(jarPath).useAll {
282286
containsEntries(
283287
"a.properties",
284288
"a2.properties",
@@ -290,7 +294,7 @@ class PublishingTest : BasePluginTest() {
290294
}
291295

292296
private companion object {
293-
fun MavenXpp3Reader.read(path: Path): Model = read(path.inputStream())
297+
fun MavenXpp3Reader.read(path: Path): Model = path.inputStream().use { read(it) }
294298

295299
fun <T : Any> JsonAdapter<T>.fromJson(path: Path): T = requireNotNull(fromJson(path.readText()))
296300
}

0 commit comments

Comments
 (0)