mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 08:11:23 +00:00
Migrate to resource function of test-utils (#2728)
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
package io.gitlab.arturbosch.detekt.api
|
||||
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
enum class Case(val file: String) {
|
||||
FilteredClass("FilteredClass.kt"),
|
||||
@@ -10,5 +9,5 @@ enum class Case(val file: String) {
|
||||
SuppressedByAllObject("SuppressedByAllObject.kt"),
|
||||
SuppressedElements("SuppressedElements.kt");
|
||||
|
||||
fun path(): Path = Paths.get(resource(file))
|
||||
fun path(): Path = resourceAsPath(file)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.gitlab.arturbosch.detekt.api.internal
|
||||
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import io.gitlab.arturbosch.detekt.api.Config
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.gitlab.arturbosch.detekt.test.yamlConfig
|
||||
import org.assertj.core.api.Assertions
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
@@ -92,13 +92,13 @@ class YamlConfigSpec : Spek({
|
||||
describe("yaml config") {
|
||||
|
||||
it("loads the config from a given yaml file") {
|
||||
val path = Paths.get(resource("detekt.yml"))
|
||||
val path = resourceAsPath("detekt.yml")
|
||||
val config = YamlConfig.load(path)
|
||||
assertThat(config).isNotNull
|
||||
}
|
||||
|
||||
it("loads the config from a given text file") {
|
||||
val path = Paths.get(resource("detekt.txt"))
|
||||
val path = resourceAsPath("detekt.txt")
|
||||
val config = YamlConfig.load(path)
|
||||
assertThat(config).isNotNull
|
||||
}
|
||||
@@ -111,7 +111,7 @@ class YamlConfigSpec : Spek({
|
||||
}
|
||||
|
||||
it("throws an exception on a directory") {
|
||||
val path = Paths.get(resource("/config_validation"))
|
||||
val path = resourceAsPath("/config_validation")
|
||||
Assertions.assertThatIllegalArgumentException()
|
||||
.isThrownBy { YamlConfig.load(path) }
|
||||
.withMessageStartingWith("Configuration must be a file")
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
package io.gitlab.arturbosch.detekt.cli.baseline
|
||||
|
||||
import io.github.detekt.test.utils.createTempDirectoryForTest
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import io.gitlab.arturbosch.detekt.api.Finding
|
||||
import io.gitlab.arturbosch.detekt.cli.createFinding
|
||||
import io.github.detekt.test.utils.createTempDirectoryForTest
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
class BaselineFacadeSpec : Spek({
|
||||
|
||||
@@ -24,7 +23,8 @@ class BaselineFacadeSpec : Spek({
|
||||
|
||||
it("creates on top of an existing a baseline file") {
|
||||
val fullPath = dir.resolve("baseline2.xml")
|
||||
val existingFile = Paths.get(resource("/smell-baseline.xml")).toFile()
|
||||
val existingFile = resourceAsPath("/smell-baseline.xml").toFile()
|
||||
|
||||
existingFile.copyTo(fullPath.toFile(), overwrite = true)
|
||||
|
||||
assertNonEmptyBaseline(fullPath)
|
||||
@@ -35,8 +35,7 @@ class BaselineFacadeSpec : Spek({
|
||||
}
|
||||
|
||||
it("filters with an existing baseline file") {
|
||||
val path = Paths.get(resource("/smell-baseline.xml"))
|
||||
assertFilter(path)
|
||||
assertFilter(resourceAsPath("/smell-baseline.xml"))
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package io.gitlab.arturbosch.detekt.cli.baseline
|
||||
|
||||
import io.github.detekt.test.utils.createTempFileForTest
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.assertj.core.api.Assertions.assertThatIllegalStateException
|
||||
import org.assertj.core.api.Assertions.assertThatThrownBy
|
||||
import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Paths
|
||||
|
||||
class BaselineFormatSpec : Spek({
|
||||
|
||||
@@ -17,7 +16,7 @@ class BaselineFormatSpec : Spek({
|
||||
context("read a baseline file") {
|
||||
|
||||
it("loads the baseline file") {
|
||||
val path = Paths.get(resource("/smell-baseline.xml"))
|
||||
val path = resourceAsPath("/smell-baseline.xml")
|
||||
val (blacklist, whitelist) = BaselineFormat().read(path)
|
||||
|
||||
assertThat(blacklist.ids).hasSize(2)
|
||||
@@ -28,12 +27,12 @@ class BaselineFormatSpec : Spek({
|
||||
}
|
||||
|
||||
it("throws on an invalid baseline file extension") {
|
||||
val path = Paths.get(resource("/invalid-smell-baseline.txt"))
|
||||
val path = resourceAsPath("/invalid-smell-baseline.txt")
|
||||
assertThatThrownBy { BaselineFormat().read(path) }.isInstanceOf(InvalidBaselineState::class.java)
|
||||
}
|
||||
|
||||
it("throws on an invalid baseline ID declaration") {
|
||||
val path = Paths.get(resource("/invalid-smell-baseline.xml"))
|
||||
val path = resourceAsPath("/invalid-smell-baseline.xml")
|
||||
assertThatIllegalStateException()
|
||||
.isThrownBy { BaselineFormat().read(path) }
|
||||
.withMessage("The content of the ID element must not be empty")
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package io.gitlab.arturbosch.detekt.cli.console
|
||||
|
||||
import io.gitlab.arturbosch.detekt.test.TestDetektion
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import io.gitlab.arturbosch.detekt.cli.createNotification
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.gitlab.arturbosch.detekt.test.TestDetektion
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
import java.nio.file.Paths
|
||||
|
||||
class NotificationReportSpec : Spek({
|
||||
|
||||
@@ -15,7 +14,7 @@ class NotificationReportSpec : Spek({
|
||||
describe("notification report") {
|
||||
|
||||
it("reports two notifications") {
|
||||
val path = Paths.get(resource("empty.txt"))
|
||||
val path = resourceAsPath("empty.txt")
|
||||
val detektion = object : TestDetektion() {
|
||||
override val notifications = listOf(createNotification(), createNotification())
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package io.gitlab.arturbosch.detekt.cli.console
|
||||
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Paths
|
||||
|
||||
internal fun readResource(filename: String): String {
|
||||
val path = Paths.get(resource(filename))
|
||||
val path = resourceAsPath(filename)
|
||||
return Files.readAllLines(path).joinToString("\n") + "\n"
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
package io.gitlab.arturbosch.detekt.cli.out
|
||||
|
||||
import io.github.detekt.metrics.processors.commentLinesKey
|
||||
import io.github.detekt.metrics.processors.complexityKey
|
||||
import io.github.detekt.metrics.processors.linesKey
|
||||
import io.github.detekt.metrics.processors.logicalLinesKey
|
||||
import io.github.detekt.metrics.processors.sourceLinesKey
|
||||
import io.github.detekt.test.utils.createTempFileForTest
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import io.gitlab.arturbosch.detekt.api.Detektion
|
||||
import io.gitlab.arturbosch.detekt.api.Finding
|
||||
import io.gitlab.arturbosch.detekt.api.ProjectMetric
|
||||
import io.gitlab.arturbosch.detekt.cli.createEntity
|
||||
import io.gitlab.arturbosch.detekt.cli.createFinding
|
||||
import io.gitlab.arturbosch.detekt.cli.createIssue
|
||||
import io.github.detekt.metrics.processors.commentLinesKey
|
||||
import io.github.detekt.metrics.processors.complexityKey
|
||||
import io.github.detekt.metrics.processors.linesKey
|
||||
import io.github.detekt.metrics.processors.logicalLinesKey
|
||||
import io.github.detekt.metrics.processors.sourceLinesKey
|
||||
import io.gitlab.arturbosch.detekt.core.whichDetekt
|
||||
import io.gitlab.arturbosch.detekt.test.TestDetektion
|
||||
import io.github.detekt.test.utils.createTempFileForTest
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
@@ -24,7 +24,6 @@ import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
class HtmlOutputReportSpec : Spek({
|
||||
|
||||
@@ -131,7 +130,7 @@ class HtmlOutputReportSpec : Spek({
|
||||
}
|
||||
|
||||
it("asserts that the generated HTML is the same as expected") {
|
||||
val expected = Paths.get(resource("/reports/HtmlOutputFormatTest.html"))
|
||||
val expected = resourceAsPath("/reports/HtmlOutputFormatTest.html")
|
||||
var result = htmlReport.render(createTestDetektionWithMultipleSmells())
|
||||
result = generatedRegex.replace(result, replacement)
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package io.gitlab.arturbosch.detekt.rules
|
||||
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
/* Do not add new elements to this file. Instead, use inline code snippets within the tests.
|
||||
See https://github.com/detekt/detekt/issues/1089 */
|
||||
@@ -44,5 +43,5 @@ enum class Case(val file: String) {
|
||||
UnusedPrivateMemberPositive("/cases/UnusedPrivateMemberPositive.kt"),
|
||||
UnusedPrivateMemberNegative("/cases/UnusedPrivateMemberNegative.kt");
|
||||
|
||||
fun path(): Path = Paths.get(resource(file))
|
||||
fun path(): Path = resourceAsPath(file)
|
||||
}
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
package io.gitlab.arturbosch.detekt.rules.documentation
|
||||
|
||||
import io.github.detekt.test.utils.NullPrintStream
|
||||
import io.github.detekt.test.utils.compileContentForTest
|
||||
import io.github.detekt.test.utils.resourceAsPath
|
||||
import io.gitlab.arturbosch.detekt.api.Config
|
||||
import io.gitlab.arturbosch.detekt.api.Finding
|
||||
import io.gitlab.arturbosch.detekt.api.SetupContext
|
||||
import io.gitlab.arturbosch.detekt.api.UnstableApi
|
||||
import io.gitlab.arturbosch.detekt.api.internal.YamlConfig
|
||||
import io.github.detekt.test.utils.NullPrintStream
|
||||
import io.gitlab.arturbosch.detekt.test.assertThat
|
||||
import io.github.detekt.test.utils.compileContentForTest
|
||||
import io.gitlab.arturbosch.detekt.test.lint
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
import java.io.PrintStream
|
||||
import java.net.URI
|
||||
import java.nio.file.Paths
|
||||
|
||||
internal class AbsentOrWrongFileLicenseSpec : Spek({
|
||||
|
||||
@@ -57,11 +56,11 @@ internal class AbsentOrWrongFileLicenseSpec : Spek({
|
||||
private fun checkLicence(content: String): List<Finding> {
|
||||
val file = compileContentForTest(content)
|
||||
|
||||
val resource = resource("license-config.yml")
|
||||
val config = YamlConfig.load(Paths.get(resource))
|
||||
val resource = resourceAsPath("license-config.yml")
|
||||
val config = YamlConfig.load(resource)
|
||||
LicenceHeaderLoaderExtension().apply {
|
||||
init(object : SetupContext {
|
||||
override val configUris: Collection<URI> = listOf(resource)
|
||||
override val configUris: Collection<URI> = listOf(resource.toUri())
|
||||
override val config: Config = config
|
||||
override val outPrinter: PrintStream = NullPrintStream()
|
||||
override val errPrinter: PrintStream = NullPrintStream()
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package io.gitlab.arturbosch.detekt.rules.exceptions
|
||||
|
||||
import io.github.detekt.test.utils.compileContentForTest
|
||||
import io.github.detekt.test.utils.resource
|
||||
import io.gitlab.arturbosch.detekt.api.internal.YamlConfig
|
||||
import io.gitlab.arturbosch.detekt.core.rules.createRuleSet
|
||||
import io.gitlab.arturbosch.detekt.core.rules.visitFile
|
||||
import io.gitlab.arturbosch.detekt.rules.providers.ExceptionsProvider
|
||||
import io.github.detekt.test.utils.compileContentForTest
|
||||
import io.gitlab.arturbosch.detekt.test.resource
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.spekframework.spek2.Spek
|
||||
import org.spekframework.spek2.style.specification.describe
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package io.github.detekt.test.utils
|
||||
|
||||
import java.net.URI
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
|
||||
internal object Resources
|
||||
|
||||
@@ -10,3 +12,5 @@ fun resource(name: String): URI {
|
||||
requireNotNull(resource) { "Make sure the resource '$name' exists!" }
|
||||
return resource.toURI()
|
||||
}
|
||||
|
||||
fun resourceAsPath(name: String): Path = Paths.get(resource(name))
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package io.gitlab.arturbosch.detekt.test
|
||||
|
||||
import io.github.detekt.test.utils.resource
|
||||
import io.gitlab.arturbosch.detekt.api.internal.YamlConfig
|
||||
import java.net.URI
|
||||
|
||||
fun resource(name: String): URI = io.github.detekt.test.utils.resource(name)
|
||||
|
||||
fun yamlConfig(name: String) = YamlConfig.loadResource(resource(name).toURL())
|
||||
|
||||
Reference in New Issue
Block a user