Polish SendToMethodReturnValueHandlerTests
This commit is contained in:
parent
03e3ef53ab
commit
e81c7dfc4c
|
@ -40,7 +40,6 @@ import org.springframework.messaging.MessageChannel;
|
||||||
import org.springframework.messaging.MessageHeaders;
|
import org.springframework.messaging.MessageHeaders;
|
||||||
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
||||||
import org.springframework.messaging.converter.StringMessageConverter;
|
import org.springframework.messaging.converter.StringMessageConverter;
|
||||||
import org.springframework.messaging.handler.DestinationPatternsMessageCondition;
|
|
||||||
import org.springframework.messaging.handler.annotation.SendTo;
|
import org.springframework.messaging.handler.annotation.SendTo;
|
||||||
import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
||||||
import org.springframework.messaging.simp.SimpMessageSendingOperations;
|
import org.springframework.messaging.simp.SimpMessageSendingOperations;
|
||||||
|
@ -53,6 +52,7 @@ import org.springframework.util.MimeType;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
import static org.mockito.BDDMockito.*;
|
import static org.mockito.BDDMockito.*;
|
||||||
|
import static org.springframework.messaging.handler.DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER;
|
||||||
import static org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver.*;
|
import static org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver.*;
|
||||||
import static org.springframework.messaging.support.MessageHeaderAccessor.*;
|
import static org.springframework.messaging.support.MessageHeaderAccessor.*;
|
||||||
|
|
||||||
|
@ -61,6 +61,7 @@ import static org.springframework.messaging.support.MessageHeaderAccessor.*;
|
||||||
*
|
*
|
||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @author Sebastien Deleuze
|
* @author Sebastien Deleuze
|
||||||
|
* @author Stephane Nicoll
|
||||||
*/
|
*/
|
||||||
public class SendToMethodReturnValueHandlerTests {
|
public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
|
@ -177,7 +178,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -189,7 +190,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -202,7 +203,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -214,7 +215,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.defaultNoAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.defaultNoAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -226,7 +227,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.defaultEmptyAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.defaultEmptyAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -238,7 +239,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.defaultOverrideAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.defaultOverrideAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -251,7 +252,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.userDefaultNoAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.userDefaultNoAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -263,7 +264,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.userDefaultEmptyAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.userDefaultEmptyAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -275,7 +276,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.userDefaultOverrideAnnotation, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.userDefaultOverrideAnnotation, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -298,7 +299,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
public void sendToDefaultDestinationWhenUsingDotPathSeparator() throws Exception {
|
public void sendToDefaultDestinationWhenUsingDotPathSeparator() throws Exception {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app/", "dest.foo.bar", null);
|
Message<?> inputMessage = createMessage("sess1", "sub1", "/app/", "dest.foo.bar", null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -309,23 +310,24 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHeadersToSend() throws Exception {
|
public void testHeadersToSend() throws Exception {
|
||||||
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app", "/dest", null);
|
Message<?> message = createMessage("sess1", "sub1", "/app", "/dest", null);
|
||||||
|
|
||||||
SimpMessageSendingOperations messagingTemplate = Mockito.mock(SimpMessageSendingOperations.class);
|
SimpMessageSendingOperations messagingTemplate = Mockito.mock(SimpMessageSendingOperations.class);
|
||||||
SendToMethodReturnValueHandler handler = new SendToMethodReturnValueHandler(messagingTemplate, false);
|
SendToMethodReturnValueHandler handler = new SendToMethodReturnValueHandler(messagingTemplate, false);
|
||||||
|
|
||||||
handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage);
|
handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, message);
|
||||||
|
|
||||||
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class);
|
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class);
|
||||||
verify(messagingTemplate).convertAndSend(eq("/topic/dest"), eq(PAYLOAD), captor.capture());
|
verify(messagingTemplate).convertAndSend(eq("/topic/dest"), eq(PAYLOAD), captor.capture());
|
||||||
|
|
||||||
MessageHeaders messageHeaders = captor.getValue();
|
MessageHeaders headers = captor.getValue();
|
||||||
SimpMessageHeaderAccessor accessor = getAccessor(messageHeaders, SimpMessageHeaderAccessor.class);
|
SimpMessageHeaderAccessor accessor = getAccessor(headers, SimpMessageHeaderAccessor.class);
|
||||||
assertNotNull(accessor);
|
assertNotNull(accessor);
|
||||||
assertTrue(accessor.isMutable());
|
assertTrue(accessor.isMutable());
|
||||||
assertEquals("sess1", accessor.getSessionId());
|
assertEquals("sess1", accessor.getSessionId());
|
||||||
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
||||||
assertEquals(this.noAnnotationsReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
assertEquals(this.noAnnotationsReturnType,
|
||||||
|
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -334,7 +336,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
TestUser user = new TestUser();
|
TestUser user = new TestUser();
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -378,7 +380,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
TestUser user = new TestUser();
|
TestUser user = new TestUser();
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -388,14 +390,16 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
assertEquals(MIME_TYPE, accessor.getContentType());
|
assertEquals(MIME_TYPE, accessor.getContentType());
|
||||||
assertEquals("/user/" + user.getName() + "/dest1", accessor.getDestination());
|
assertEquals("/user/" + user.getName() + "/dest1", accessor.getDestination());
|
||||||
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
||||||
assertEquals(this.sendToUserSingleSessionReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
assertEquals(this.sendToUserSingleSessionReturnType,
|
||||||
|
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
||||||
|
|
||||||
accessor = getCapturedAccessor(1);
|
accessor = getCapturedAccessor(1);
|
||||||
assertEquals(sessionId, accessor.getSessionId());
|
assertEquals(sessionId, accessor.getSessionId());
|
||||||
assertEquals("/user/" + user.getName() + "/dest2", accessor.getDestination());
|
assertEquals("/user/" + user.getName() + "/dest2", accessor.getDestination());
|
||||||
assertEquals(MIME_TYPE, accessor.getContentType());
|
assertEquals(MIME_TYPE, accessor.getContentType());
|
||||||
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
||||||
assertEquals(this.sendToUserSingleSessionReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
assertEquals(this.sendToUserSingleSessionReturnType,
|
||||||
|
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -404,7 +408,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
TestUser user = new UniqueUser();
|
TestUser user = new UniqueUser();
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -422,7 +426,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
TestUser user = new TestUser();
|
TestUser user = new TestUser();
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", user);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -438,7 +442,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
TestUser user = new TestUser();
|
TestUser user = new TestUser();
|
||||||
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app/", "dest.foo.bar", user);
|
Message<?> inputMessage = createMessage("sess1", "sub1", "/app/", "dest.foo.bar", user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
@ -453,8 +457,8 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
TestUser user = new TestUser();
|
TestUser user = new TestUser();
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", user);
|
Message<?> message = createMessage(sessionId, "sub1", "/app", "/dest", user);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionDefaultDestReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionDefaultDestReturnType, message);
|
||||||
|
|
||||||
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
|
||||||
|
|
||||||
|
@ -463,7 +467,8 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
assertEquals("/user/" + user.getName() + "/queue/dest", accessor.getDestination());
|
assertEquals("/user/" + user.getName() + "/queue/dest", accessor.getDestination());
|
||||||
assertEquals(MIME_TYPE, accessor.getContentType());
|
assertEquals(MIME_TYPE, accessor.getContentType());
|
||||||
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
|
||||||
assertEquals(this.sendToUserSingleSessionDefaultDestReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
assertEquals(this.sendToUserSingleSessionDefaultDestReturnType,
|
||||||
|
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -471,7 +476,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
|
||||||
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
|
||||||
|
@ -490,29 +495,28 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
given(this.messageChannel.send(any(Message.class))).willReturn(true);
|
||||||
|
|
||||||
String sessionId = "sess1";
|
String sessionId = "sess1";
|
||||||
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null);
|
Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
|
||||||
this.jsonHandler.handleReturnValue(handleAndSendToJsonView(), this.jsonViewReturnType, inputMessage);
|
this.jsonHandler.handleReturnValue(handleAndSendToJsonView(), this.jsonViewReturnType, inputMessage);
|
||||||
|
|
||||||
verify(this.messageChannel).send(this.messageCaptor.capture());
|
verify(this.messageChannel).send(this.messageCaptor.capture());
|
||||||
Message<?> message = this.messageCaptor.getValue();
|
Message<?> message = this.messageCaptor.getValue();
|
||||||
assertNotNull(message);
|
assertNotNull(message);
|
||||||
|
|
||||||
assertEquals("{\"withView1\":\"with\"}", new String((byte[]) message.getPayload(), StandardCharsets.UTF_8));
|
String bytes = new String((byte[]) message.getPayload(), StandardCharsets.UTF_8);
|
||||||
|
assertEquals("{\"withView1\":\"with\"}", bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Message<?> createInputMessage(String sessId, String subsId, String destinationPrefix,
|
private Message<?> createMessage(String sessId, String subsId, String destPrefix, String dest, Principal user) {
|
||||||
String destination, Principal principal) {
|
|
||||||
|
|
||||||
SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create();
|
SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create();
|
||||||
headerAccessor.setSessionId(sessId);
|
headerAccessor.setSessionId(sessId);
|
||||||
headerAccessor.setSubscriptionId(subsId);
|
headerAccessor.setSubscriptionId(subsId);
|
||||||
if (destination != null && destinationPrefix != null) {
|
if (dest != null && destPrefix != null) {
|
||||||
headerAccessor.setDestination(destinationPrefix + destination);
|
headerAccessor.setDestination(destPrefix + dest);
|
||||||
headerAccessor.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, destination);
|
headerAccessor.setHeader(LOOKUP_DESTINATION_HEADER, dest);
|
||||||
}
|
}
|
||||||
if (principal != null) {
|
if (user != null) {
|
||||||
headerAccessor.setUser(principal);
|
headerAccessor.setUser(user);
|
||||||
}
|
}
|
||||||
return MessageBuilder.createMessage(new byte[0], headerAccessor.getMessageHeaders());
|
return MessageBuilder.createMessage(new byte[0], headerAccessor.getMessageHeaders());
|
||||||
}
|
}
|
||||||
|
@ -542,47 +546,48 @@ public class SendToMethodReturnValueHandlerTests {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
public String handleNoAnnotations() {
|
public String handleNoAnnotations() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendTo
|
@SendTo @SuppressWarnings("unused")
|
||||||
public String handleAndSendToDefaultDestination() {
|
public String handleAndSendToDefaultDestination() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendTo({"/dest1", "/dest2"})
|
@SendTo({"/dest1", "/dest2"}) @SuppressWarnings("unused")
|
||||||
public String handleAndSendTo() {
|
public String handleAndSendTo() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendTo("/topic/chat.message.filtered.{roomName}")
|
@SendTo("/topic/chat.message.filtered.{roomName}") @SuppressWarnings("unused")
|
||||||
public String handleAndSendToWithPlaceholders() {
|
public String handleAndSendToWithPlaceholders() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendToUser
|
@SendToUser @SuppressWarnings("unused")
|
||||||
public String handleAndSendToUserDefaultDestination() {
|
public String handleAndSendToUserDefaultDestination() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendToUser(broadcast = false)
|
@SendToUser(broadcast = false) @SuppressWarnings("unused")
|
||||||
public String handleAndSendToUserDefaultDestinationSingleSession() {
|
public String handleAndSendToUserDefaultDestinationSingleSession() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendToUser({"/dest1", "/dest2"})
|
@SendToUser({"/dest1", "/dest2"}) @SuppressWarnings("unused")
|
||||||
public String handleAndSendToUser() {
|
public String handleAndSendToUser() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false)
|
@SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false) @SuppressWarnings("unused")
|
||||||
public String handleAndSendToUserSingleSession() {
|
public String handleAndSendToUserSingleSession() {
|
||||||
return PAYLOAD;
|
return PAYLOAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
@SendTo("/dest")
|
@SendTo("/dest")
|
||||||
@JsonView(MyJacksonView1.class)
|
@JsonView(MyJacksonView1.class) @SuppressWarnings("unused")
|
||||||
public JacksonViewBean handleAndSendToJsonView() {
|
public JacksonViewBean handleAndSendToJsonView() {
|
||||||
JacksonViewBean payload = new JacksonViewBean();
|
JacksonViewBean payload = new JacksonViewBean();
|
||||||
payload.setWithView1("with");
|
payload.setWithView1("with");
|
||||||
|
|
Loading…
Reference in New Issue