Skip to content

Commit f1cc89f

Browse files
authored
Merge pull request #2619 from exoego/validate-file
Check files frequently updated by community
2 parents c99d9d2 + 0b585ca commit f1cc89f

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package org.scalasteward.core
2+
3+
import better.files._
4+
import cats.effect.unsafe.implicits.global
5+
import munit.FunSuite
6+
import org.scalasteward.core.application.Config.{ArtifactCfg, RepoConfigCfg, ScalafixCfg}
7+
import org.scalasteward.core.edit.scalafix.ScalafixMigrationsLoader
8+
import org.scalasteward.core.mock.MockContext.context.{
9+
artifactMigrationsLoader,
10+
fileAlg,
11+
logger,
12+
scalafixMigrationsLoader
13+
}
14+
import org.scalasteward.core.mock.MockContext.mockState
15+
import org.scalasteward.core.repoconfig.RepoConfigLoader
16+
import org.scalasteward.core.update.artifact.ArtifactMigrationsLoader
17+
18+
import scala.util.{Failure, Success, Try}
19+
20+
class BuiltinConfigFilesTest extends FunSuite {
21+
private def verifyConfigFile(readThis: String)(block: => Unit): Unit =
22+
Try {
23+
block
24+
} match {
25+
case Failure(e) =>
26+
fail(s"Invalid format. See ${readThis}", e)
27+
case Success(_) => // ok
28+
}
29+
30+
test("migration v2 config is valid") {
31+
val migrationsContent =
32+
File("../src/main/resources/artifact-migrations.v2.conf").contentAsString
33+
val initialState =
34+
mockState.addUris(ArtifactMigrationsLoader.defaultArtifactMigrationsUrl -> migrationsContent)
35+
verifyConfigFile("See docs/artifact-migrations.md") {
36+
val migrations = artifactMigrationsLoader
37+
.loadAll(ArtifactCfg(List(), disableDefaults = false))
38+
.runA(initialState)
39+
.unsafeRunSync()
40+
assert(clue(migrations.size) > 1)
41+
}
42+
}
43+
44+
test("scalafix migrations config is valid") {
45+
val migrationsContent =
46+
File("../src/main/resources/scalafix-migrations.conf").contentAsString
47+
val initialState =
48+
mockState.addUris(ScalafixMigrationsLoader.defaultScalafixMigrationsUrl -> migrationsContent)
49+
verifyConfigFile("docs/scalafix-migrations.md") {
50+
val migrations = scalafixMigrationsLoader
51+
.loadAll(ScalafixCfg(List(), disableDefaults = false))
52+
.runA(initialState)
53+
.attempt
54+
.unsafeRunSync()
55+
.getOrElse(List.empty)
56+
assert(clue(migrations).size > 1)
57+
}
58+
}
59+
60+
test("default config is valid") {
61+
val defaultConfigContent =
62+
File("../src/main/resources/default.scala-steward.conf").contentAsString
63+
val initialState =
64+
mockState.addUris(RepoConfigLoader.defaultRepoConfigUrl -> defaultConfigContent)
65+
verifyConfigFile("docs/repo-specific-configuration.md") {
66+
val repoConfigLoader = new RepoConfigLoader
67+
val repoConfig = repoConfigLoader
68+
.loadGlobalRepoConfig(RepoConfigCfg(List(), disableDefault = false))
69+
.runA(initialState)
70+
.attempt
71+
.unsafeRunSync()
72+
.getOrElse(None)
73+
assert(clue(repoConfig).isDefined)
74+
}
75+
}
76+
}

0 commit comments

Comments
 (0)