logger.trace("No active sessions for user destination: " + result.getSourceDestination()); logger.trace("Translated " + result.getSourceDestination() + " -> " + result.getTargetDestinations());
@Test public void handleSubscribeNoUser() { String sourceDestination = "/user/queue/foo"; Message<?> message = createMessage(SimpMessageType.SUBSCRIBE, null, "123", sourceDestination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(sourceDestination, actual.getSourceDestination()); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("/queue/foo-user" + "123", actual.getTargetDestinations().iterator().next()); assertEquals(sourceDestination, actual.getSubscribeDestination()); assertNull(actual.getUser()); }
@Test public void handleMessageWithNoUser() { String sourceDestination = "/user/" + "123" + "/queue/foo"; Message<?> message = createMessage(SimpMessageType.MESSAGE, null, "123", sourceDestination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(sourceDestination, actual.getSourceDestination()); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("/queue/foo-user123", actual.getTargetDestinations().iterator().next()); assertEquals("/user/queue/foo", actual.getSubscribeDestination()); assertNull(actual.getUser()); }
@Test public void handleSubscribe() { TestPrincipal user = new TestPrincipal("joe"); String sourceDestination = "/user/queue/foo"; Message<?> message = createMessage(SimpMessageType.SUBSCRIBE, user, "123", sourceDestination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(sourceDestination, actual.getSourceDestination()); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("/queue/foo-user123", actual.getTargetDestinations().iterator().next()); assertEquals(sourceDestination, actual.getSubscribeDestination()); assertEquals(user.getName(), actual.getUser()); }
@Test public void handleMessage() { TestPrincipal user = new TestPrincipal("joe"); String sourceDestination = "/user/joe/queue/foo"; Message<?> message = createMessage(SimpMessageType.MESSAGE, user, "123", sourceDestination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(sourceDestination, actual.getSourceDestination()); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("/queue/foo-user123", actual.getTargetDestinations().iterator().next()); assertEquals("/user/queue/foo", actual.getSubscribeDestination()); assertEquals(user.getName(), actual.getUser()); }
@Test // SPR-12444 public void handleMessageToOtherUser() { TestSimpUser otherSimpUser = new TestSimpUser("anna"); otherSimpUser.addSessions(new TestSimpSession("456")); when(this.registry.getUser("anna")).thenReturn(otherSimpUser); TestPrincipal user = new TestPrincipal("joe"); TestPrincipal otherUser = new TestPrincipal("anna"); String sourceDestination = "/user/anna/queue/foo"; Message<?> message = createMessage(SimpMessageType.MESSAGE, user, "456", sourceDestination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(sourceDestination, actual.getSourceDestination()); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("/queue/foo-user456", actual.getTargetDestinations().iterator().next()); assertEquals("/user/queue/foo", actual.getSubscribeDestination()); assertEquals(otherUser.getName(), actual.getUser()); }
logger.trace("No active sessions for user destination: " + result.getSourceDestination()); logger.trace("Translated " + result.getSourceDestination() + " -> " + result.getTargetDestinations());
logger.trace("No active sessions for user destination: " + result.getSourceDestination()); logger.trace("Translated " + result.getSourceDestination() + " -> " + result.getTargetDestinations());
logger.trace("No active sessions for user destination: " + result.getSourceDestination()); logger.trace("Translated " + result.getSourceDestination() + " -> " + result.getTargetDestinations());