Migrate to resource function of test-utils (#2728)

This commit is contained in:
Artur Bosch
2020-05-25 11:37:11 +02:00
committed by GitHub
parent daa7f9cc23
commit 56abbeaf69
12 changed files with 43 additions and 49 deletions

View File

@@ -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)
}

View 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")

View 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"))
}
}
})

View File

@@ -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")

View File

@@ -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())
}

View File

@@ -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"
}

View File

@@ -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)

View File

@@ -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)
}

View 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()

View File

@@ -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

View File

@@ -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))

View File

@@ -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())