Skip to content

Commit

Permalink
Move tests to the correct module (#4314)
Browse files Browse the repository at this point in the history
* Move tests to a better package

* Move tests to the correct place
  • Loading branch information
BraisGabin committed Nov 20, 2021
1 parent 5f9e4a5 commit 7b8d273
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 16 deletions.
2 changes: 2 additions & 0 deletions detekt-generator/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ dependencies {
implementation(projects.detektCli)
implementation(libs.jcommander)

testImplementation(projects.detektCore)
testImplementation(projects.detektTestUtils)
testImplementation(libs.bundles.testImplementation)
testRuntimeOnly(libs.spek.runner)
testImplementation(libs.reflections)
}

val documentationDir = "${rootProject.rootDir}/docs/pages/documentation"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package io.gitlab.arturbosch.detekt.core
package io.gitlab.arturbosch.detekt.generator.config

import io.gitlab.arturbosch.detekt.api.BaseRule
import io.gitlab.arturbosch.detekt.api.Config
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.RuleSetProvider
import io.gitlab.arturbosch.detekt.api.internal.DefaultRuleSetProvider
import io.gitlab.arturbosch.detekt.core.config.DefaultConfig
import io.gitlab.arturbosch.detekt.core.config.YamlConfig
import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.fail
Expand Down Expand Up @@ -43,7 +42,7 @@ class ConfigAssert(
for (ruleClass in ruleClasses) {
val ymlDeclaration = ymlDeclarations.filter { it.key == ruleClass.simpleName }
if (ymlDeclaration.keys.size != 1) {
fail<String>("${ruleClass.simpleName} rule is not correctly defined in ${DefaultConfig.RESOURCE_NAME}")
fail<String>("${ruleClass.simpleName} rule is not correctly defined in detekt-default-config.yml")
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,40 +1,35 @@
package io.gitlab.arturbosch.detekt.core
package io.gitlab.arturbosch.detekt.generator.config

import io.gitlab.arturbosch.detekt.core.config.DefaultConfig
import io.gitlab.arturbosch.detekt.core.config.YamlConfig
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 DetektYmlConfigSpec : Spek({

describe("detekt YAML config") {

val config by memoized { DefaultConfig.newInstance() }
val config by memoized {
val path = Paths.get("../detekt-core/src/main/resources/default-detekt-config.yml").toAbsolutePath()
YamlConfig.load(path) as YamlConfig
}

ruleSetsNamesToPackage.forEach { (name, packageName) ->
it("$name section") {
ConfigAssert(config, name, packageName).assert()
}
}

it("is backed by a yaml file") {
assertThat(config).isInstanceOf(YamlConfig::class.java)
}

it("contains all general config keys") {
val yamlConfig = config as YamlConfig

val topLevelConfigKeys = yamlConfig.properties.keys
val topLevelConfigKeys = config.properties.keys

assertThat(topLevelConfigKeys).containsAll(generalConfigKeys)
}

it("is completely checked") {
val yamlConfig = config as YamlConfig
val checkedRuleSetNames = ruleSetsNamesToPackage.map { it.first }

val topLevelConfigKeys = yamlConfig.properties.keys
val topLevelConfigKeys = config.properties.keys

assertThat(topLevelConfigKeys - generalConfigKeys)
.containsExactlyInAnyOrderElementsOf(checkedRuleSetNames)
Expand Down

0 comments on commit 7b8d273

Please sign in to comment.