Skip to content
Snippets Groups Projects
Commit a9c088f8 authored by Clément Pit-Claudel's avatar Clément Pit-Claudel
Browse files

tests: Test WebSocket response

parent 06ad831e
No related branches found
No related tags found
No related merge requests found
......@@ -30,10 +30,10 @@ object PingPongSuite:
override val eventFormat = StringWire
override val viewFormat = StringWire
override def init(clients: Seq[UserId]): String = ""
override def init(clients: Seq[UserId]): String = "hello"
override def project(state: String)(userId: UserId): Pong = state
override def transition(state: String)(userId: UserId, event: Ping): Try[Seq[Action[State]]] = Try:
Seq(Action.Render(state))
Seq(Action.Render(event))
WebServer.register(PingPong)
......@@ -88,9 +88,20 @@ class WebSocketSuite extends PingPongSuite:
.response(asWebSocketAlways(body))
.send(backend)
test("ws: The server sends a welcome message over web sockets"):
test("ws: The ping server sends a welcome message over web sockets"):
withServer: server ?=>
val inst = createInstance(USER_IDS)
withWs(inst.instanceId): ws =>
val initial = decodeActions(ws.receiveText())
assertEquals(initial, Seq(Action.Render("")))
val initial = decodeActions(ws.receiveText())
assertEquals(initial, Seq(Action.Render("hello")))
test("ws: The ping server echoes events"):
withServer: server ?=>
val inst = createInstance(USER_IDS)
withWs(inst.instanceId): ws =>
ws.receiveText()
time:
for i <- 0 to 1000 do
ws.sendText(app.wire.eventFormat.encode(i.toString).toString)
val resp = decodeActions(ws.receiveText())
assertEquals(resp, Seq(Action.Render(i.toString)))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment