From e469f51b26c9c3da1f4ff0daf997c7ddbddc3d9d Mon Sep 17 00:00:00 2001 From: Andriy Shevtsov Date: Wed, 2 Aug 2023 17:04:28 +0300 Subject: [PATCH] Fix WebSocket not closed in onClosing This is the same as https://github.com/dsrees/JavaPhoenixClient/pull/90 but with unit test update --- src/main/kotlin/org/phoenixframework/Transport.kt | 1 + src/test/kotlin/org/phoenixframework/WebSocketTransportTest.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/kotlin/org/phoenixframework/Transport.kt b/src/main/kotlin/org/phoenixframework/Transport.kt index 25c8818..738fad6 100644 --- a/src/main/kotlin/org/phoenixframework/Transport.kt +++ b/src/main/kotlin/org/phoenixframework/Transport.kt @@ -155,6 +155,7 @@ class WebSocketTransport( override fun onClosing(webSocket: WebSocket, code: Int, reason: String) { this.readyState = Transport.ReadyState.CLOSING + webSocket.close(code, reason) } override fun onMessage(webSocket: WebSocket, text: String) { diff --git a/src/test/kotlin/org/phoenixframework/WebSocketTransportTest.kt b/src/test/kotlin/org/phoenixframework/WebSocketTransportTest.kt index 381b5ed..b9a7846 100644 --- a/src/test/kotlin/org/phoenixframework/WebSocketTransportTest.kt +++ b/src/test/kotlin/org/phoenixframework/WebSocketTransportTest.kt @@ -136,6 +136,7 @@ class WebSocketTransportTest { transport.readyState = Transport.ReadyState.OPEN transport.onClosing(mockWebSocket, 10, "reason") + verify(mockWebSocket).close(10, "reason") assertThat(transport.readyState).isEqualTo(Transport.ReadyState.CLOSING) }