Disable SockJS heartbeat if STOMP heartbeat is on
This commit is contained in:
@@ -41,6 +41,8 @@ import org.springframework.messaging.support.MessageBuilder;
|
||||
import org.springframework.web.socket.TextMessage;
|
||||
import org.springframework.web.socket.WebSocketMessage;
|
||||
import org.springframework.web.socket.handler.TestWebSocketSession;
|
||||
import org.springframework.web.socket.sockjs.transport.SockJsSession;
|
||||
import org.springframework.web.socket.sockjs.transport.session.TestSockJsSession;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
@@ -110,6 +112,19 @@ public class StompSubProtocolHandlerTests {
|
||||
assertEquals(Collections.singleton("s1"), registry.getSessionIds("Me myself and I"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleMessageToClientConnectedWithHeartbeats() {
|
||||
|
||||
SockJsSession sockJsSession = Mockito.mock(SockJsSession.class);
|
||||
|
||||
StompHeaderAccessor headers = StompHeaderAccessor.create(StompCommand.CONNECTED);
|
||||
headers.setHeartbeat(0,10);
|
||||
Message<byte[]> message = MessageBuilder.withPayload(new byte[0]).setHeaders(headers).build();
|
||||
this.protocolHandler.handleMessageToClient(sockJsSession, message);
|
||||
|
||||
verify(sockJsSession).disableHeartbeat();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void handleMessageToClientConnectAck() {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -247,14 +247,6 @@ public class SockJsSessionTests extends AbstractSockJsSessionTests<TestSockJsSes
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sendHeartbeatWhenNotActive() throws Exception {
|
||||
this.session.setActive(false);
|
||||
this.session.sendHeartbeat();
|
||||
|
||||
assertEquals(Collections.emptyList(), this.session.getSockJsFramesWritten());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sendHeartbeat() throws Exception {
|
||||
this.session.setActive(true);
|
||||
@@ -275,6 +267,14 @@ public class SockJsSessionTests extends AbstractSockJsSessionTests<TestSockJsSes
|
||||
verifyNoMoreInteractions(this.taskScheduler);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sendHeartbeatWhenDisabled() throws Exception {
|
||||
this.session.disableHeartbeat();
|
||||
this.session.sendHeartbeat();
|
||||
|
||||
assertEquals(Collections.emptyList(), this.session.getSockJsFramesWritten());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void scheduleAndCancelHeartbeat() throws Exception {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user