diff --git a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/BytecodeRemappingTest.kt b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/BytecodeRemappingTest.kt index c3f41ea59..9bbb3c7d6 100644 --- a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/BytecodeRemappingTest.kt +++ b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/BytecodeRemappingTest.kt @@ -1,9 +1,12 @@ package com.github.jengelman.gradle.plugins.shadow.internal +import assertk.assertFailure import assertk.assertThat import assertk.assertions.contains import assertk.assertions.doesNotContain +import assertk.assertions.hasMessage import assertk.assertions.isEqualTo +import assertk.assertions.isInstanceOf import com.github.jengelman.gradle.plugins.shadow.relocation.SimpleRelocator import com.github.jengelman.gradle.plugins.shadow.testkit.requireResourceAsPath import com.github.jengelman.gradle.plugins.shadow.util.noOpDelegate @@ -15,7 +18,6 @@ import kotlin.reflect.KClass import org.gradle.api.GradleException import org.gradle.api.file.FileCopyDetails import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.io.TempDir import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ValueSource @@ -75,9 +77,9 @@ class BytecodeRemappingTest { override fun getFile(): File = file } - val failure = assertThrows { details.remapClass(relocators) } - - assertThat(failure.message).isEqualTo("Error in ASM processing class $path") + assertFailure { details.remapClass(relocators) } + .isInstanceOf() + .hasMessage("Error in ASM processing class $path") } @Test diff --git a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DefaultDependencyFilterTest.kt b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DefaultDependencyFilterTest.kt index 18b63496e..3d756a4e9 100644 --- a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DefaultDependencyFilterTest.kt +++ b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/DefaultDependencyFilterTest.kt @@ -1,14 +1,16 @@ package com.github.jengelman.gradle.plugins.shadow.internal +import assertk.assertFailure import assertk.assertThat import assertk.assertions.contains import assertk.assertions.isEqualTo +import assertk.assertions.isInstanceOf import assertk.assertions.isTrue +import assertk.assertions.messageContains import com.github.jengelman.gradle.plugins.shadow.util.noOpDelegate import org.gradle.api.artifacts.ResolvedDependency import org.gradle.testfixtures.ProjectBuilder import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments import org.junit.jupiter.params.provider.MethodSource @@ -47,10 +49,9 @@ class DefaultDependencyFilterTest { @Test fun rejectsUnsupportedProjectNotation() { - val failure = assertThrows { filter.project(42) } - - assertThat(failure.message.orEmpty()) - .contains("Unsupported notation type: class java.lang.Integer") + assertFailure { filter.project(42) } + .isInstanceOf() + .messageContains("Unsupported notation type: class java.lang.Integer") } private companion object { diff --git a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/ZipEntryValidationTest.kt b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/ZipEntryValidationTest.kt index a24c0650c..6112e3734 100644 --- a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/ZipEntryValidationTest.kt +++ b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/ZipEntryValidationTest.kt @@ -1,7 +1,10 @@ package com.github.jengelman.gradle.plugins.shadow.internal +import assertk.assertFailure import assertk.assertThat +import assertk.assertions.hasMessage import assertk.assertions.isEqualTo +import assertk.assertions.isInstanceOf import assertk.assertions.isTrue import com.github.jengelman.gradle.plugins.shadow.util.zipOutputStream import java.io.ByteArrayOutputStream @@ -13,7 +16,6 @@ import org.apache.tools.zip.ZipFile import org.apache.tools.zip.ZipOutputStream import org.gradle.api.GradleException import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.io.TempDir class ZipEntryValidationTest { @@ -114,12 +116,11 @@ class ZipEntryValidationTest { ) for (name in maliciousNames) { - val exception = - assertThrows { + assertFailure { ByteArrayOutputStream().zipOutputStream().use { it.writeEntry(name) } } - assertThat(exception.message) - .isEqualTo("Malicious ZIP entry containing path traversal sequence: $name") + .isInstanceOf() + .hasMessage("Malicious ZIP entry containing path traversal sequence: $name") } } } diff --git a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DeduplicatingResourceTransformerTest.kt b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DeduplicatingResourceTransformerTest.kt index 803a0be6f..d129e5efe 100644 --- a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DeduplicatingResourceTransformerTest.kt +++ b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/DeduplicatingResourceTransformerTest.kt @@ -1,10 +1,13 @@ package com.github.jengelman.gradle.plugins.shadow.transformers +import assertk.assertFailure import assertk.assertThat import assertk.assertions.containsExactlyInAnyOrder import assertk.assertions.containsOnly +import assertk.assertions.hasMessage import assertk.assertions.isEqualTo import assertk.assertions.isFalse +import assertk.assertions.isInstanceOf import assertk.assertions.isTrue import com.github.jengelman.gradle.plugins.shadow.transformers.DeduplicatingResourceTransformer.Companion.sha256Hex import com.github.jengelman.gradle.plugins.shadow.util.zipOutputStream @@ -13,7 +16,6 @@ import kotlin.io.path.writeText import org.gradle.api.GradleException import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ValueSource @@ -119,15 +121,13 @@ class DeduplicatingResourceTransformerTest : canTransformResource("differing-content", file1) canTransformResource("differing-content", file3) - val failure = - assertThrows { + assertFailure { tempJar.zipOutputStream().use { modifyOutputStream(it, false) } } - - assertThat(failure.message.orEmpty()) - .isEqualTo( + .isInstanceOf() + .hasMessage( """ |Found 1 path duplicate(s) with different content in the shadowed JAR: | * differing-content diff --git a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformerTest.kt b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformerTest.kt index bbd2064fb..ec63cbbac 100644 --- a/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformerTest.kt +++ b/src/test/kotlin/com/github/jengelman/gradle/plugins/shadow/transformers/PropertiesFileTransformerTest.kt @@ -1,9 +1,12 @@ package com.github.jengelman.gradle.plugins.shadow.transformers +import assertk.assertFailure import assertk.assertThat import assertk.assertions.contains +import assertk.assertions.hasMessage import assertk.assertions.isEqualTo import assertk.assertions.isFalse +import assertk.assertions.isInstanceOf import assertk.assertions.isTrue import com.github.jengelman.gradle.plugins.shadow.internal.inputStream import com.github.jengelman.gradle.plugins.shadow.testkit.JarPath @@ -16,7 +19,6 @@ import java.nio.charset.Charset import java.util.Properties import org.gradle.api.GradleException import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments import org.junit.jupiter.params.provider.MethodSource @@ -70,10 +72,9 @@ class PropertiesFileTransformerTest : BaseTransformerTest { transformToJar() } - - assertThat(failure.message.orEmpty()) - .isEqualTo( + assertFailure { transformToJar() } + .isInstanceOf() + .hasMessage( """ |The following properties files have conflicting property values and cannot be merged: | * f.properties