@@ -66,7 +66,6 @@ public class GenericMessagingTemplateTests {
|
||||
|
||||
@Test
|
||||
public void sendAndReceive() {
|
||||
|
||||
SubscribableChannel channel = new ExecutorSubscribableChannel(this.executor);
|
||||
channel.subscribe(new MessageHandler() {
|
||||
@Override
|
||||
@@ -82,8 +81,7 @@ public class GenericMessagingTemplateTests {
|
||||
|
||||
@Test
|
||||
public void sendAndReceiveTimeout() throws InterruptedException {
|
||||
|
||||
final AtomicReference<Throwable> failure = new AtomicReference<>();
|
||||
final AtomicReference<Throwable> failure = new AtomicReference<Throwable>();
|
||||
final CountDownLatch latch = new CountDownLatch(1);
|
||||
|
||||
this.template.setReceiveTimeout(1);
|
||||
@@ -118,8 +116,9 @@ public class GenericMessagingTemplateTests {
|
||||
assertNull(this.template.convertSendAndReceive(channel, "request", String.class));
|
||||
assertTrue(latch.await(1000, TimeUnit.MILLISECONDS));
|
||||
|
||||
if (failure.get() != null) {
|
||||
throw new AssertionError(failure.get());
|
||||
Throwable ex = failure.get();
|
||||
if (ex != null) {
|
||||
throw new AssertionError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,6 +137,7 @@ public class GenericMessagingTemplateTests {
|
||||
assertFalse(accessor.isMutable());
|
||||
}
|
||||
|
||||
|
||||
private class TestDestinationResolver implements DestinationResolver<MessageChannel> {
|
||||
|
||||
@Override
|
||||
@@ -145,4 +145,5 @@ public class GenericMessagingTemplateTests {
|
||||
return messageChannel;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -42,7 +42,9 @@ import org.springframework.messaging.MessageChannel;
|
||||
import org.springframework.messaging.MessageHeaders;
|
||||
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
||||
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.support.DestinationVariableMethodArgumentResolver;
|
||||
import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
||||
import org.springframework.messaging.simp.SimpMessageSendingOperations;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
@@ -54,9 +56,6 @@ import org.springframework.util.MimeType;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.BDDMockito.*;
|
||||
import static org.springframework.messaging.handler.DestinationPatternsMessageCondition.*;
|
||||
import static org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver.*;
|
||||
import static org.springframework.messaging.support.MessageHeaderAccessor.*;
|
||||
|
||||
/**
|
||||
* Test fixture for {@link SendToMethodReturnValueHandlerTests}.
|
||||
@@ -357,7 +356,8 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
verify(messagingTemplate).convertAndSend(eq("/topic/dest"), eq(PAYLOAD), captor.capture());
|
||||
|
||||
MessageHeaders headers = captor.getValue();
|
||||
SimpMessageHeaderAccessor accessor = getAccessor(headers, SimpMessageHeaderAccessor.class);
|
||||
SimpMessageHeaderAccessor accessor =
|
||||
MessageHeaderAccessor.getAccessor(headers, SimpMessageHeaderAccessor.class);
|
||||
assertNotNull(accessor);
|
||||
assertTrue(accessor.isMutable());
|
||||
assertEquals("sess1", accessor.getSessionId());
|
||||
@@ -399,7 +399,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create();
|
||||
accessor.setSessionId(sessionId);
|
||||
accessor.setSubscriptionId("sub1");
|
||||
accessor.setHeader(DESTINATION_TEMPLATE_VARIABLES_HEADER, vars);
|
||||
accessor.setHeader(DestinationVariableMethodArgumentResolver.DESTINATION_TEMPLATE_VARIABLES_HEADER, vars);
|
||||
Message<?> message = MessageBuilder.createMessage(PAYLOAD, accessor.getMessageHeaders());
|
||||
this.handler.handleReturnValue(PAYLOAD, this.sendToWithPlaceholdersReturnType, message);
|
||||
|
||||
@@ -549,7 +549,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
headerAccessor.setSubscriptionId(subsId);
|
||||
if (dest != null && destPrefix != null) {
|
||||
headerAccessor.setDestination(destPrefix + dest);
|
||||
headerAccessor.setHeader(LOOKUP_DESTINATION_HEADER, dest);
|
||||
headerAccessor.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, dest);
|
||||
}
|
||||
if (user != null) {
|
||||
headerAccessor.setUser(user);
|
||||
@@ -563,6 +563,64 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
String handleNoAnnotations() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToDefaultDestination() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo({"/dest1", "/dest2"})
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendTo() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo("/topic/chat.message.filtered.{roomName}")
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToWithPlaceholders() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToUserDefaultDestination() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser(broadcast = false)
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToUserDefaultDestinationSingleSession() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser({"/dest1", "/dest2"})
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToUser() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false)
|
||||
@SuppressWarnings("unused")
|
||||
String handleAndSendToUserSingleSession() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@JsonView(MyJacksonView1.class)
|
||||
@SuppressWarnings("unused")
|
||||
JacksonViewBean handleAndSendToJsonView() {
|
||||
JacksonViewBean payload = new JacksonViewBean();
|
||||
payload.setWithView1("with");
|
||||
payload.setWithView2("with");
|
||||
payload.setWithoutView("without");
|
||||
return payload;
|
||||
}
|
||||
|
||||
|
||||
private static class TestUser implements Principal {
|
||||
|
||||
public String getName() {
|
||||
@@ -574,6 +632,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static class UniqueUser extends TestUser implements DestinationUserNameProvider {
|
||||
|
||||
@Override
|
||||
@@ -582,6 +641,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SendTo
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@interface MySendTo {
|
||||
@@ -590,6 +650,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
String[] dest();
|
||||
}
|
||||
|
||||
|
||||
@SendToUser
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@interface MySendToUser {
|
||||
@@ -599,56 +660,6 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
String handleNoAnnotations() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo @SuppressWarnings("unused")
|
||||
String handleAndSendToDefaultDestination() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo({"/dest1", "/dest2"}) @SuppressWarnings("unused")
|
||||
String handleAndSendTo() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendTo("/topic/chat.message.filtered.{roomName}") @SuppressWarnings("unused")
|
||||
String handleAndSendToWithPlaceholders() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser @SuppressWarnings("unused")
|
||||
String handleAndSendToUserDefaultDestination() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser(broadcast = false) @SuppressWarnings("unused")
|
||||
String handleAndSendToUserDefaultDestinationSingleSession() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser({"/dest1", "/dest2"}) @SuppressWarnings("unused")
|
||||
String handleAndSendToUser() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false) @SuppressWarnings("unused")
|
||||
String handleAndSendToUserSingleSession() {
|
||||
return PAYLOAD;
|
||||
}
|
||||
|
||||
@JsonView(MyJacksonView1.class) @SuppressWarnings("unused")
|
||||
JacksonViewBean handleAndSendToJsonView() {
|
||||
JacksonViewBean payload = new JacksonViewBean();
|
||||
payload.setWithView1("with");
|
||||
payload.setWithView2("with");
|
||||
payload.setWithoutView("without");
|
||||
return payload;
|
||||
}
|
||||
|
||||
|
||||
@MySendTo(dest = "/dest-default") @SuppressWarnings("unused")
|
||||
private static class SendToTestBean {
|
||||
|
||||
@@ -667,6 +678,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@MySendToUser(dest = "/dest-default") @SuppressWarnings("unused")
|
||||
private static class SendToUserTestBean {
|
||||
|
||||
@@ -685,6 +697,7 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@MySendToUser(dest = "/dest-default") @SuppressWarnings("unused")
|
||||
private static class SendToUserWithSendToOverrideTestBean {
|
||||
|
||||
@@ -701,8 +714,10 @@ public class SendToMethodReturnValueHandlerTests {
|
||||
|
||||
|
||||
private interface MyJacksonView1 {}
|
||||
|
||||
private interface MyJacksonView2 {}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static class JacksonViewBean {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user