Skip to content

Commit 428b367

Browse files
Fixes smoke tests for both scala 2.11 and 2.12
1 parent 29d104d commit 428b367

File tree

4 files changed

+25
-10
lines changed

4 files changed

+25
-10
lines changed

build.sbt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ lazy val `evaluator-server` = (project in file("server"))
6363
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15-3",
6464
%%("scalatest") % "test"
6565
),
66-
assemblyJarName in assembly := "evaluator-server.jar",
67-
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
68-
buildInfoPackage := "org.scalaexercises.evaluator"
66+
assemblyJarName in assembly := "evaluator-server.jar"
6967
)
70-
.settings(dockerSettings)
68+
.settings(dockerSettings: _*)
69+
.settings(buildInfoSettings: _*)
7170
.settings(serverScalaMacroDependencies: _*)
7271

7372
lazy val `smoketests` = (project in file("smoketests"))
74-
.dependsOn(`evaluator-server`)
73+
.dependsOn(`evaluator-server` % "compile->compile;test->test")
74+
.enablePlugins(BuildInfoPlugin)
7575
.settings(noPublishSettings: _*)
7676
.settings(
7777
name := "evaluator-server-smoke-tests",
@@ -85,9 +85,8 @@ lazy val `smoketests` = (project in file("smoketests"))
8585
%%("scalatest") % "test"
8686
)
8787
)
88+
.settings(buildInfoSettings: _*)
8889

89-
onLoad in Global := (Command
90-
.process("project evaluator-server", _: State)) compose (onLoad in Global).value
9190
addCommandAlias(
9291
"publishSignedAll",
9392
";evaluator-sharedJS/publishSigned;evaluator-sharedJVM/publishSigned;evaluator-clientJS/publishSigned;evaluator-clientJVM/publishSigned"

project/ProjectPlugin.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import sbt.Keys._
44
import sbt.{Def, _}
55
import sbtassembly.AssemblyPlugin.autoImport.assembly
66
import sbtbuildinfo.BuildInfoKey
7-
import sbtbuildinfo.BuildInfoKeys.{buildInfoKeys, buildInfoPackage}
7+
import sbtbuildinfo.BuildInfoPlugin.autoImport._
88
import sbtdocker.DockerPlugin.autoImport._
99
import sbtorgpolicies._
1010
import sbtorgpolicies.model._
@@ -59,6 +59,11 @@ object ProjectPlugin extends AutoPlugin {
5959
)
6060
}
6161

62+
lazy val buildInfoSettings = Seq(
63+
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
64+
buildInfoPackage := "org.scalaexercises.evaluator"
65+
)
66+
6267
}
6368

6469
override def projectSettings: Seq[Def.Setting[_]] =

server/src/test/scala/org/scalaexercises/evaluator/helper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ object helper {
1717
def toScalaVersion(v: String): ScalaVersion = v match {
1818
case version if version.startsWith("2.11") => Scala211
1919
case version if version.startsWith("2.12") => Scala212
20-
case _ => throw new IllegalArgumentException("Unknown Scala Version")
20+
case _ => throw new IllegalArgumentException(s"Unknown Scala Version $v")
2121
}
2222

2323
val commonResolvers = List(

smoketests/src/test/scala/org/scalaexercises/evaluator/Smoketests.scala

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,23 @@ import org.http4s._
1111
import org.http4s.client.blaze._
1212
import org.http4s.circe._
1313
import io.circe.generic.auto._
14+
import org.scalaexercises.evaluator.helper._
1415

1516
import scala.concurrent.duration._
1617
import pdi.jwt.{Jwt, JwtAlgorithm}
1718

1819
class Smoketests extends FunSpec with Matchers with CirceInstances {
1920

21+
val evaluatorUrl: Uri = (toScalaVersion(BuildInfo.scalaVersion) match {
22+
case Scala211 => Uri.fromString("https://scala-evaluator.herokuapp.com/eval")
23+
case _ => Uri.fromString("https://scala-evaluator-212.herokuapp.com/eval")
24+
}).toOption
25+
.getOrElse(
26+
throw new RuntimeException(
27+
s"Unable to parse the scala evaluator url for scala version ${BuildInfo.scalaVersion}"
28+
)
29+
)
30+
2031
case class EvaluatorResponse(
2132
msg: String,
2233
value: String,
@@ -35,7 +46,7 @@ class Smoketests extends FunSpec with Matchers with CirceInstances {
3546

3647
val request = new Request(
3748
method = Method.POST,
38-
uri = Uri.uri("https://scala-evaluator.herokuapp.com/eval"),
49+
uri = evaluatorUrl,
3950
headers = Headers(headers)
4051
).withBody(s"""{"resolvers" : [], "dependencies" : [], "code" : "$code"}""")
4152

0 commit comments

Comments
 (0)