Skip to content

Commit 67dbc57

Browse files
authored
upgrade cask to 0.9.5 (#187)
note: 0.9.5 is actually the latest release, not 0.10.2 ¯\_(ツ)_/¯ check the cask git commits... https://github.com/com-lihaoyi/cask/commits/master/ n.b. org.java_websocket.client.WebSocketClient expects the url scheme to be either `ws` or `wss`, and this tests mixes the two cases widely
1 parent d134d81 commit 67dbc57

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ lazy val server = project.in(file("server"))
4343
Defaults.itSettings,
4444
fork := true, // important: otherwise we run into classloader issues
4545
libraryDependencies ++= Seq(
46-
"com.lihaoyi" %% "cask" % "0.8.3",
46+
"com.lihaoyi" %% "cask" % "0.9.5",
4747
"org.slf4j" % "slf4j-simple" % Slf4jVersion % Optional,
4848
"com.lihaoyi" %% "requests" % "0.8.2" % Test,
4949
"org.scalatest" %% "scalatest" % ScalaTestVersion % "it",

core/src/main/scala/replpp/util/ClasspathHelper.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ object ClasspathHelper {
4444
if (debugPrint) println(s"using jar from inherited classpath: $path")
4545
entries.addOne(path)
4646
} else {
47-
if (debugPrint) println(s"exluding jar from inherited classpath (included=$included; excluded=$excluded: $path)")
47+
if (debugPrint) println(s"excluding jar from inherited classpath (included=$included; excluded=$excluded: $path)")
4848
}
4949
}
5050
System.getProperty("java.class.path").split(pathSeparator).filter(_.nonEmpty).map(Paths.get(_)).foreach(addToEntriesMaybe)

server/src/main/scala/replpp/server/WebServiceWithWebSocket.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ abstract class WebServiceWithWebSocket[T <: HasUUID](
3333
case Some(providedAuth) => areEqual(providedAuth, requiredAuth)
3434
}
3535
}
36-
delegate(Map("isAuthorized" -> isAuthorized))
36+
delegate(request, Map("isAuthorized" -> isAuthorized))
3737
}
3838

3939
private def parseAuthentication(request: Request): Option[UsernamePasswordAuth] =

server/src/test/scala/replpp/server/ReplServerTests.scala

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
4141
"asynchronous api" should {
4242
"allow websocket connections to the `/connect` endpoint" in Fixture() { url =>
4343
val wsMsgPromise = scala.concurrent.Promise[String]()
44-
cask.util.WsClient.connect(s"$url/connect") { case cask.Ws.Text(msg) =>
44+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") { case cask.Ws.Text(msg) =>
4545
wsMsgPromise.success(msg)
4646
}
4747
val wsMsg = Await.result(wsMsgPromise.future, DefaultPromiseAwaitTimeout)
@@ -80,7 +80,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
8080
"allow fetching the result of a completed query using its UUID" in Fixture() { url =>
8181
val wsMsgPromise = scala.concurrent.Promise[String]()
8282
val connectedPromise = scala.concurrent.Promise[String]()
83-
cask.util.WsClient.connect(s"$url/connect") {
83+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
8484
case cask.Ws.Text(msg) if msg == "connected" =>
8585
connectedPromise.success(msg)
8686
case cask.Ws.Text(msg) =>
@@ -103,7 +103,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
103103
"use predefined code" in Fixture("val foo = 40") { url =>
104104
val wsMsgPromise = scala.concurrent.Promise[String]()
105105
val connectedPromise = scala.concurrent.Promise[String]()
106-
cask.util.WsClient.connect(s"$url/connect") {
106+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
107107
case cask.Ws.Text(msg) if msg == "connected" =>
108108
connectedPromise.success(msg)
109109
case cask.Ws.Text(msg) =>
@@ -126,7 +126,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
126126
"use runBefore code" in Fixture(runBeforeCode = Seq("import Int.MaxValue")) { url =>
127127
val wsMsgPromise = scala.concurrent.Promise[String]()
128128
val connectedPromise = scala.concurrent.Promise[String]()
129-
cask.util.WsClient.connect(s"$url/connect") {
129+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
130130
case cask.Ws.Text(msg) if msg == "connected" =>
131131
connectedPromise.success(msg)
132132
case cask.Ws.Text(msg) =>
@@ -149,7 +149,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
149149
"disallow fetching the result of a completed query with an invalid auth header" in Fixture() { url =>
150150
val wsMsgPromise = scala.concurrent.Promise[String]()
151151
val connectedPromise = scala.concurrent.Promise[String]()
152-
cask.util.WsClient.connect(s"$url/connect") {
152+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
153153
case cask.Ws.Text(msg) if msg == "connected" =>
154154
connectedPromise.success(msg)
155155
case cask.Ws.Text(msg) =>
@@ -172,7 +172,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
172172
url =>
173173
val wsMsgPromise = scala.concurrent.Promise[String]()
174174
val connectedPromise = scala.concurrent.Promise[String]()
175-
cask.util.WsClient.connect(s"$url/connect") {
175+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
176176
case cask.Ws.Text(msg) if msg == "connected" =>
177177
connectedPromise.success(msg)
178178
case cask.Ws.Text(msg) =>
@@ -199,7 +199,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
199199
"write a well-formatted message to a websocket connection when a query failed evaluation" in Fixture() { url =>
200200
val wsMsgPromise = scala.concurrent.Promise[String]()
201201
val connectedPromise = scala.concurrent.Promise[String]()
202-
cask.util.WsClient.connect(s"$url/connect") {
202+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
203203
case cask.Ws.Text(msg) if msg == "connected" =>
204204
connectedPromise.success(msg)
205205
case cask.Ws.Text(msg) =>
@@ -228,7 +228,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
228228
url =>
229229
val wsMsgPromise = scala.concurrent.Promise[String]()
230230
val connectedPromise = scala.concurrent.Promise[String]()
231-
cask.util.WsClient.connect(s"$url/connect") {
231+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") {
232232
case cask.Ws.Text(msg) if msg == "connected" =>
233233
connectedPromise.success(msg)
234234
case cask.Ws.Text(msg) =>
@@ -254,7 +254,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
254254

255255
"receive error when attempting to retrieve result with invalid uuid" in Fixture() { url =>
256256
val connectedPromise = scala.concurrent.Promise[String]()
257-
cask.util.WsClient.connect(s"$url/connect") { case cask.Ws.Text(msg) =>
257+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") { case cask.Ws.Text(msg) =>
258258
connectedPromise.success(msg)
259259
}
260260
Await.result(connectedPromise.future, Duration(1, SECONDS))
@@ -266,7 +266,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
266266

267267
"return a valid JSON response when calling /result with incorrectly-formatted UUID parameter" in Fixture() { url =>
268268
val connectedPromise = scala.concurrent.Promise[String]()
269-
cask.util.WsClient.connect(s"$url/connect") { case cask.Ws.Text(msg) =>
269+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") { case cask.Ws.Text(msg) =>
270270
connectedPromise.success(msg)
271271
}
272272
Await.result(connectedPromise.future, Duration(1, SECONDS))
@@ -284,7 +284,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
284284

285285
val rtl: Lock = new ReentrantLock()
286286
val connectedPromise = scala.concurrent.Promise[String]()
287-
cask.util.WsClient.connect(s"$url/connect") { case cask.Ws.Text(msg) =>
287+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") { case cask.Ws.Text(msg) =>
288288
if (msg == "connected") {
289289
connectedPromise.success(msg)
290290
} else {
@@ -318,7 +318,7 @@ class ReplServerTests extends AnyWordSpec with Matchers {
318318
val connectedPromise = scala.concurrent.Promise[String]()
319319

320320
val rtl: Lock = new ReentrantLock()
321-
cask.util.WsClient.connect(s"$url/connect") { case cask.Ws.Text(msg) =>
321+
cask.util.WsClient.connect(s"${websocketUrl(url)}/connect") { case cask.Ws.Text(msg) =>
322322
if (msg == "connected") {
323323
connectedPromise.success(msg)
324324
} else {
@@ -392,6 +392,12 @@ class ReplServerTests extends AnyWordSpec with Matchers {
392392
ujson.read(getResponse.bytes)
393393
}
394394

395+
/**
396+
* org.java_websocket.client.WebSocketClient expects the url scheme to be either `ws` or `wss`,
397+
* and this tests mixes the two cases widely, so I found this to be the simplest way around it...
398+
*/
399+
def websocketUrl(httpUrl: String): String =
400+
httpUrl.replaceFirst("^http://", "ws://")
395401
}
396402

397403
object Fixture {

0 commit comments

Comments
 (0)