Skip to content

Commit 5f12dec

Browse files
committed
Use WorkspaceAlg#repoDir in tests
... instead of manually constructing the repoDir from the workspace config. This makes the tests independent of the actual implementation of `WorkspaceAlg#repoDir` so that they don't break if the implementation is changed.
1 parent e7d116b commit 5f12dec

File tree

11 files changed

+37
-37
lines changed

11 files changed

+37
-37
lines changed

modules/core/src/test/scala/org/scalasteward/core/buildtool/BuildToolDispatcherTest.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import cats.effect.unsafe.implicits.global
44
import munit.FunSuite
55
import org.scalasteward.core.buildtool.sbt.command._
66
import org.scalasteward.core.data.{Dependency, Resolver, Scope, Version}
7-
import org.scalasteward.core.mock.MockConfig.config
8-
import org.scalasteward.core.mock.MockContext.context.buildToolDispatcher
7+
import org.scalasteward.core.mock.MockContext.context._
98
import org.scalasteward.core.mock.MockState
109
import org.scalasteward.core.mock.MockState.TraceEntry.{Cmd, Log}
1110
import org.scalasteward.core.repoconfig.{BuildRootConfig, RepoConfig}
@@ -19,7 +18,7 @@ class BuildToolDispatcherTest extends FunSuite {
1918
val repoConfig = RepoConfig.empty.copy(buildRoots =
2019
Some(List(BuildRootConfig("."), BuildRootConfig("mvn-build")))
2120
)
22-
val repoDir = config.workspace / repo.toPath
21+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
2322
val initial = MockState.empty
2423
.addFiles(
2524
repoDir / "mvn-build" / "pom.xml" -> "",

modules/core/src/test/scala/org/scalasteward/core/buildtool/maven/MavenAlgTest.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ package org.scalasteward.core.buildtool.maven
22

33
import cats.effect.unsafe.implicits.global
44
import munit.FunSuite
5-
import org.scalasteward.core.mock.MockContext.context.mavenAlg
5+
import org.scalasteward.core.mock.MockContext.context._
6+
import org.scalasteward.core.mock.MockState
67
import org.scalasteward.core.mock.MockState.TraceEntry.Cmd
7-
import org.scalasteward.core.mock.{MockConfig, MockState}
88
import org.scalasteward.core.vcs.data.{BuildRoot, Repo}
99

1010
class MavenAlgTest extends FunSuite {
1111
test("getDependencies") {
1212
val repo = Repo("namespace", "repo-name")
1313
val buildRoot = BuildRoot(repo, ".")
14-
val repoDir = MockConfig.config.workspace / repo.toPath
14+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
1515

1616
val state = mavenAlg.getDependencies(buildRoot).runS(MockState.empty).unsafeRunSync()
1717
val expected = MockState.empty.copy(

modules/core/src/test/scala/org/scalasteward/core/buildtool/mill/MillAlgTest.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import cats.effect.unsafe.implicits.global
44
import munit.FunSuite
55
import org.scalasteward.core.buildtool.mill.MillAlg.extractDeps
66
import org.scalasteward.core.data.Version
7-
import org.scalasteward.core.mock.MockConfig.config
8-
import org.scalasteward.core.mock.MockContext.context.millAlg
7+
import org.scalasteward.core.mock.MockContext.context._
98
import org.scalasteward.core.mock.MockState
109
import org.scalasteward.core.mock.MockState.TraceEntry.Cmd
1110
import org.scalasteward.core.vcs.data.{BuildRoot, Repo}
@@ -14,7 +13,7 @@ class MillAlgTest extends FunSuite {
1413
test("getDependencies") {
1514
val repo = Repo("lihaoyi", "fastparse")
1615
val buildRoot = BuildRoot(repo, ".")
17-
val repoDir = config.workspace / repo.toPath
16+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
1817
val predef = s"$repoDir/scala-steward.sc"
1918
val millCmd = List(
2019
"firejail",

modules/core/src/test/scala/org/scalasteward/core/buildtool/sbt/SbtAlgTest.scala

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ import munit.FunSuite
55
import org.scalasteward.core.buildtool.sbt.command._
66
import org.scalasteward.core.data.{GroupId, Version}
77
import org.scalasteward.core.edit.scalafix.ScalafixMigration
8-
import org.scalasteward.core.mock.MockConfig.{config, mockRoot}
9-
import org.scalasteward.core.mock.MockContext.context.sbtAlg
8+
import org.scalasteward.core.mock.MockContext.context._
109
import org.scalasteward.core.mock.MockState
1110
import org.scalasteward.core.mock.MockState.TraceEntry.Cmd
1211
import org.scalasteward.core.util.Nel
1312
import org.scalasteward.core.vcs.data.{BuildRoot, Repo}
1413

1514
class SbtAlgTest extends FunSuite {
15+
private val workspace = workspaceAlg.rootDir.unsafeRunSync()
16+
1617
test("getDependencies") {
1718
val repo = Repo("typelevel", "cats")
1819
val buildRoot = BuildRoot(repo, ".")
19-
val repoDir = config.workspace / repo.toPath
20+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
2021
val files = Map(repoDir / "project" / "build.properties" -> "sbt.version=1.3.6")
2122
val initial = MockState.empty.copy(files = files)
2223
val state = sbtAlg.getDependencies(buildRoot).runS(initial).unsafeRunSync()
@@ -49,7 +50,7 @@ class SbtAlgTest extends FunSuite {
4950
test("runMigrations") {
5051
val repo = Repo("fthomas", "scala-steward")
5152
val buildRoot = BuildRoot(repo, ".")
52-
val repoDir = config.workspace / repo.toPath
53+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
5354
val migration = ScalafixMigration(
5455
GroupId("co.fs2"),
5556
Nel.of("fs2-core"),
@@ -58,15 +59,15 @@ class SbtAlgTest extends FunSuite {
5859
)
5960
val initialState = MockState.empty
6061
.addFiles(
61-
mockRoot / s"workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json" -> sbtScalafixVersionJson
62+
workspace / s"store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json" -> sbtScalafixVersionJson
6263
)
6364
.unsafeRunSync()
6465
val state = sbtAlg.runMigration(buildRoot, migration).runS(initialState).unsafeRunSync()
6566
val expected = initialState.copy(
6667
trace = Vector(
6768
Cmd(
6869
"read",
69-
s"$mockRoot/workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json"
70+
s"$workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json"
7071
),
7172
Cmd("write", s"$repoDir/project/scala-steward-sbt-scalafix.sbt"),
7273
Cmd(
@@ -91,7 +92,7 @@ class SbtAlgTest extends FunSuite {
9192
test("runMigrations: migration with scalacOptions") {
9293
val repo = Repo("fthomas", "scala-steward")
9394
val buildRoot = BuildRoot(repo, ".")
94-
val repoDir = config.workspace / repo.toPath
95+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
9596
val migration = ScalafixMigration(
9697
GroupId("org.typelevel"),
9798
Nel.of("cats-core"),
@@ -101,15 +102,15 @@ class SbtAlgTest extends FunSuite {
101102
)
102103
val initialState = MockState.empty
103104
.addFiles(
104-
mockRoot / s"workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json" -> sbtScalafixVersionJson
105+
workspace / s"store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json" -> sbtScalafixVersionJson
105106
)
106107
.unsafeRunSync()
107108
val state = sbtAlg.runMigration(buildRoot, migration).runS(initialState).unsafeRunSync()
108109
val expected = initialState.copy(
109110
trace = Vector(
110111
Cmd(
111112
"read",
112-
s"$mockRoot/workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json"
113+
s"$workspace/store/versions/v2/https/repo1.maven.org/maven2/ch/epfl/scala/sbt-scalafix_2.12_1.0/versions.json"
113114
),
114115
Cmd("write", s"$repoDir/project/scala-steward-sbt-scalafix.sbt"),
115116
Cmd("write", s"$repoDir/scala-steward-scalafix-options.sbt"),

modules/core/src/test/scala/org/scalasteward/core/edit/EditAlgTest.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import org.scalasteward.core.TestSyntax._
88
import org.scalasteward.core.buildtool.sbt.{sbtArtifactId, sbtGroupId}
99
import org.scalasteward.core.data._
1010
import org.scalasteward.core.edit.scalafix.ScalafixCli.scalafixBinary
11-
import org.scalasteward.core.mock.MockConfig.{config, gitCmd}
12-
import org.scalasteward.core.mock.MockContext.context.editAlg
11+
import org.scalasteward.core.mock.MockConfig.gitCmd
12+
import org.scalasteward.core.mock.MockContext.context._
1313
import org.scalasteward.core.mock.MockState
1414
import org.scalasteward.core.mock.MockState.TraceEntry.{Cmd, Log}
1515
import org.scalasteward.core.repoconfig.RepoConfig
@@ -24,7 +24,7 @@ class EditAlgTest extends FunSuite {
2424
test("applyUpdate") {
2525
val repo = Repo("edit-alg", "test-1")
2626
val data = RepoData(repo, dummyRepoCache, RepoConfig.empty)
27-
val repoDir = config.workspace / repo.toPath
27+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
2828
val update = ("org.typelevel".g % "cats-core".a % "1.2.0" %> "1.3.0").single
2929
val file1 = repoDir / "build.sbt"
3030
val file2 = repoDir / "project/Dependencies.scala"
@@ -64,7 +64,7 @@ class EditAlgTest extends FunSuite {
6464
List(List(DependencyInfo(scalafmtDependency(Version("2.0.0")), Nil)).withMavenCentral)
6565
)
6666
val data = RepoData(repo, cache, RepoConfig.empty)
67-
val repoDir = config.workspace / repo.toPath
67+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
6868
val update = ("org.scalameta".g % "scalafmt-core".a % "2.0.0" %> "2.1.0").single
6969
val scalafmtConf = repoDir / scalafmtConfName
7070
val scalafmtConfContent = """maxColumn = 100
@@ -120,7 +120,7 @@ class EditAlgTest extends FunSuite {
120120
test("applyUpdate with build Scalafix") {
121121
val repo = Repo("edit-alg", "test-3-1")
122122
val data = RepoData(repo, dummyRepoCache, RepoConfig.empty)
123-
val repoDir = config.workspace / repo.toPath
123+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
124124
val update = (sbtGroupId % sbtArtifactId % "1.4.9" %> "1.5.5").single
125125

126126
val state = MockState.empty

modules/core/src/test/scala/org/scalasteward/core/edit/RewriteTest.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import munit.FunSuite
55
import org.scalasteward.core.TestInstances.dummyRepoCache
66
import org.scalasteward.core.TestSyntax._
77
import org.scalasteward.core.data.{RepoData, Update}
8-
import org.scalasteward.core.mock.MockConfig.config
9-
import org.scalasteward.core.mock.MockContext.context.editAlg
8+
import org.scalasteward.core.mock.MockContext.context._
109
import org.scalasteward.core.mock.MockState
1110
import org.scalasteward.core.repoconfig.RepoConfig
1211
import org.scalasteward.core.scalafmt.scalafmtConfName
@@ -847,7 +846,7 @@ class RewriteTest extends FunSuite {
847846
): Unit = {
848847
val repo = Repo("edit-alg", s"runApplyUpdate-${nextInt()}")
849848
val data = RepoData(repo, dummyRepoCache, RepoConfig.empty)
850-
val repoDir = config.workspace / repo.toPath
849+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
851850
val filesInRepoDir = files.map { case (file, content) => repoDir / file -> content }
852851
val obtained = MockState.empty
853852
.addFiles(filesInRepoDir.toSeq: _*)

modules/core/src/test/scala/org/scalasteward/core/edit/hooks/HookExecutorTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import org.scalasteward.core.vcs.data.Repo
2020
class HookExecutorTest extends CatsEffectSuite {
2121
private val repo = Repo("scala-steward-org", "scala-steward")
2222
private val data = RepoData(repo, dummyRepoCache, RepoConfig.empty)
23-
private val repoDir = workspaceAlg.repoDir(repo).runA(MockState.empty).unsafeRunSync()
23+
private val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
2424

2525
test("no hook") {
2626
val update = ("org.typelevel".g % "cats-core".a % "1.2.0" %> "1.3.0").single

modules/core/src/test/scala/org/scalasteward/core/mock/package.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ package object mock {
2323

2424
def runSA(state: MockState): IO[(MockState, A)] =
2525
state.toRef.flatMap(ref => fa.run(ref).flatMap(a => ref.get.map(s => (s, a))))
26+
27+
def unsafeRunSync(): A =
28+
runA(MockState.empty).unsafeRunSync()(cats.effect.unsafe.implicits.global)
2629
}
2730

2831
def getFlatMapSet[F[_], A](f: A => F[A])(ref: Ref[F, A])(implicit F: FlatMap[F]): F[Unit] =

modules/core/src/test/scala/org/scalasteward/core/repoconfig/RepoConfigAlgTest.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import eu.timepit.refined.types.numeric.NonNegInt
77
import munit.FunSuite
88
import org.scalasteward.core.TestSyntax._
99
import org.scalasteward.core.data.{GroupId, SemVer, Update}
10-
import org.scalasteward.core.mock.MockContext.context.repoConfigAlg
10+
import org.scalasteward.core.mock.MockContext.context._
11+
import org.scalasteward.core.mock.MockState
1112
import org.scalasteward.core.mock.MockState.TraceEntry.Log
12-
import org.scalasteward.core.mock.{MockConfig, MockState}
1313
import org.scalasteward.core.util.Nel
1414
import org.scalasteward.core.vcs.data.Repo
1515
import scala.concurrent.duration._
@@ -28,7 +28,7 @@ class RepoConfigAlgTest extends FunSuite {
2828

2929
test("config with all fields set") {
3030
val repo = Repo("fthomas", "scala-steward")
31-
val configFile = MockConfig.config.workspace / "fthomas/scala-steward/.scala-steward.conf"
31+
val configFile = workspaceAlg.repoDir(repo).unsafeRunSync() / ".scala-steward.conf"
3232
val content =
3333
"""|updates.allow = [ { groupId = "eu.timepit" } ]
3434
|updates.pin = [
@@ -247,7 +247,7 @@ class RepoConfigAlgTest extends FunSuite {
247247

248248
test("malformed config") {
249249
val repo = Repo("fthomas", "scala-steward")
250-
val configFile = MockConfig.config.workspace / "fthomas/scala-steward/.scala-steward.conf"
250+
val configFile = workspaceAlg.repoDir(repo).unsafeRunSync() / ".scala-steward.conf"
251251
val initialState =
252252
MockState.empty.addFiles(configFile -> """updates.ignore = [ "foo """).unsafeRunSync()
253253
val (state, config) = repoConfigAlg.readRepoConfig(repo).runSA(initialState).unsafeRunSync()

modules/core/src/test/scala/org/scalasteward/core/scalafmt/ScalafmtAlgTest.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ package org.scalasteward.core.scalafmt
33
import cats.effect.unsafe.implicits.global
44
import munit.FunSuite
55
import org.scalasteward.core.data.Version
6-
import org.scalasteward.core.mock.MockConfig.config
7-
import org.scalasteward.core.mock.MockContext.context.scalafmtAlg
6+
import org.scalasteward.core.mock.MockContext.context._
87
import org.scalasteward.core.mock.MockState
98
import org.scalasteward.core.mock.MockState.TraceEntry.Cmd
109
import org.scalasteward.core.vcs.data.{BuildRoot, Repo}
@@ -13,7 +12,7 @@ class ScalafmtAlgTest extends FunSuite {
1312
test("getScalafmtVersion on unquoted version") {
1413
val repo = Repo("fthomas", "scala-steward")
1514
val buildRoot = BuildRoot(repo, ".")
16-
val repoDir = config.workspace / repo.owner / repo.repo
15+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
1716
val scalafmtConf = repoDir / scalafmtConfName
1817
val initialState = MockState.empty
1918
.addFiles(scalafmtConf -> """maxColumn = 100
@@ -34,7 +33,7 @@ class ScalafmtAlgTest extends FunSuite {
3433
test("getScalafmtVersion on quoted version") {
3534
val repo = Repo("fthomas", "scala-steward")
3635
val buildRoot = BuildRoot(repo, ".")
37-
val repoDir = config.workspace / repo.owner / repo.repo
36+
val repoDir = workspaceAlg.repoDir(repo).unsafeRunSync()
3837
val scalafmtConf = repoDir / scalafmtConfName
3938
val initialState = MockState.empty
4039
.addFiles(scalafmtConf -> """maxColumn = 100

0 commit comments

Comments
 (0)