Do not raise exception for undelivered empty messages

Closes gh-23828
This commit is contained in:
Rossen Stoyanchev
2020-03-13 12:29:32 +00:00
parent 1a8caf9e2b
commit fa6ccc066d
2 changed files with 27 additions and 4 deletions

View File

@@ -106,7 +106,7 @@ public class SockJsSessionTests extends AbstractSockJsSessionTests<TestSockJsSes
}
@Test
public void delegateMessagesWithErrorAndConnectionClosing() throws Exception {
public void delegateMessagesWithError() throws Exception {
TestSockJsSession session = new TestSockJsSession("1", this.sockJsConfig,
new ExceptionWebSocketHandlerDecorator(this.webSocketHandler), Collections.emptyMap());
@@ -130,6 +130,23 @@ public class SockJsSessionTests extends AbstractSockJsSessionTests<TestSockJsSes
verifyNoMoreInteractions(this.webSocketHandler);
}
@Test // gh-23828
public void delegateMessagesEmptyAfterConnectionClosed() throws Exception {
TestSockJsSession session = new TestSockJsSession("1", this.sockJsConfig,
new ExceptionWebSocketHandlerDecorator(this.webSocketHandler), Collections.emptyMap());
session.delegateConnectionEstablished();
session.close(CloseStatus.NORMAL);
session.delegateMessages("", " ", "\n");
// No exception for empty messages
verify(this.webSocketHandler).afterConnectionEstablished(session);
verify(this.webSocketHandler).afterConnectionClosed(session, CloseStatus.NORMAL);
verifyNoMoreInteractions(this.webSocketHandler);
}
@Test
public void delegateConnectionClosed() throws Exception {
this.session.delegateConnectionEstablished();