|
|
|
@ -193,6 +193,7 @@ class SubscriptionMethodReturnValueHandlerTests { |
|
|
|
String destination = "/dest"; |
|
|
|
String destination = "/dest"; |
|
|
|
String customHeaderName = "x-custom-header"; |
|
|
|
String customHeaderName = "x-custom-header"; |
|
|
|
String customHeaderValue = "custom-value"; |
|
|
|
String customHeaderValue = "custom-value"; |
|
|
|
|
|
|
|
|
|
|
|
Message<?> inputMessage = MessageBuilder.withPayload(PAYLOAD) |
|
|
|
Message<?> inputMessage = MessageBuilder.withPayload(PAYLOAD) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SESSION_ID_HEADER, sessionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SESSION_ID_HEADER, sessionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SUBSCRIPTION_ID_HEADER, subscriptionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SUBSCRIPTION_ID_HEADER, subscriptionId) |
|
|
|
@ -200,18 +201,16 @@ class SubscriptionMethodReturnValueHandlerTests { |
|
|
|
.setHeader(customHeaderName, customHeaderValue) |
|
|
|
.setHeader(customHeaderName, customHeaderValue) |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
|
|
|
|
|
|
|
|
MessageSendingOperations messagingTemplate = mock(); |
|
|
|
MessageSendingOperations template = mock(); |
|
|
|
SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler(messagingTemplate); |
|
|
|
SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler(template); |
|
|
|
|
|
|
|
|
|
|
|
handler.addHeaderFilter(name -> name.equals(customHeaderName)); |
|
|
|
handler.addHeaderFilter(name -> name.equals(customHeaderName)); |
|
|
|
|
|
|
|
|
|
|
|
handler.handleReturnValue(PAYLOAD, this.subscribeEventReturnType, inputMessage); |
|
|
|
handler.handleReturnValue(PAYLOAD, this.subscribeEventReturnType, inputMessage); |
|
|
|
|
|
|
|
|
|
|
|
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class); |
|
|
|
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class); |
|
|
|
verify(messagingTemplate).convertAndSend(eq(destination), eq(PAYLOAD), captor.capture()); |
|
|
|
verify(template).convertAndSend(eq(destination), eq(PAYLOAD), captor.capture()); |
|
|
|
|
|
|
|
|
|
|
|
MessageHeaders sentHeaders = captor.getValue(); |
|
|
|
assertThat(captor.getValue().get(customHeaderName)).isEqualTo(customHeaderValue); |
|
|
|
assertThat(sentHeaders.get(customHeaderName)).isEqualTo(customHeaderValue); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
@ -221,6 +220,7 @@ class SubscriptionMethodReturnValueHandlerTests { |
|
|
|
String destination = "/dest"; |
|
|
|
String destination = "/dest"; |
|
|
|
String headerA = "x-header-a"; |
|
|
|
String headerA = "x-header-a"; |
|
|
|
String headerB = "x-header-b"; |
|
|
|
String headerB = "x-header-b"; |
|
|
|
|
|
|
|
|
|
|
|
Message<?> inputMessage = MessageBuilder.withPayload(PAYLOAD) |
|
|
|
Message<?> inputMessage = MessageBuilder.withPayload(PAYLOAD) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SESSION_ID_HEADER, sessionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SESSION_ID_HEADER, sessionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SUBSCRIPTION_ID_HEADER, subscriptionId) |
|
|
|
.setHeader(SimpMessageHeaderAccessor.SUBSCRIPTION_ID_HEADER, subscriptionId) |
|
|
|
@ -229,23 +229,21 @@ class SubscriptionMethodReturnValueHandlerTests { |
|
|
|
.setHeader(headerB, "B-value") |
|
|
|
.setHeader(headerB, "B-value") |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
|
|
|
|
|
|
|
|
MessageSendingOperations messagingTemplate = mock(); |
|
|
|
MessageSendingOperations template = mock(); |
|
|
|
SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler(messagingTemplate); |
|
|
|
SubscriptionMethodReturnValueHandler handler = new SubscriptionMethodReturnValueHandler(template); |
|
|
|
|
|
|
|
|
|
|
|
handler.addHeaderFilter(name -> name.equals(headerA)); |
|
|
|
handler.addHeaderFilter(name -> name.equals(headerA)); |
|
|
|
handler.addHeaderFilter(name -> name.equals(headerB)); |
|
|
|
handler.addHeaderFilter(name -> name.equals(headerB)); |
|
|
|
|
|
|
|
|
|
|
|
handler.handleReturnValue(PAYLOAD, this.subscribeEventReturnType, inputMessage); |
|
|
|
handler.handleReturnValue(PAYLOAD, this.subscribeEventReturnType, inputMessage); |
|
|
|
|
|
|
|
|
|
|
|
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class); |
|
|
|
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class); |
|
|
|
verify(messagingTemplate).convertAndSend(eq(destination), eq(PAYLOAD), captor.capture()); |
|
|
|
verify(template).convertAndSend(eq(destination), eq(PAYLOAD), captor.capture()); |
|
|
|
|
|
|
|
|
|
|
|
MessageHeaders sentHeaders = captor.getValue(); |
|
|
|
MessageHeaders sentHeaders = captor.getValue(); |
|
|
|
assertThat(sentHeaders.get(headerA)).isEqualTo("A-value"); |
|
|
|
assertThat(sentHeaders.get(headerA)).isEqualTo("A-value"); |
|
|
|
assertThat(sentHeaders.get(headerB)).isEqualTo("B-value"); |
|
|
|
assertThat(sentHeaders.get(headerB)).isEqualTo("B-value"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Message<?> createInputMessage(String sessId, String subsId, String dest, Principal principal) { |
|
|
|
private Message<?> createInputMessage(String sessId, String subsId, String dest, Principal principal) { |
|
|
|
SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.create(); |
|
|
|
SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.create(); |
|
|
|
headers.setSessionId(sessId); |
|
|
|
headers.setSessionId(sessId); |
|
|
|
|