@Test public void missingOutputChannelVerifiedAtRuntime() { Message<?> request = new GenericMessage<String>("test"); try { handler.handleMessage(request); fail("Expected exception"); } catch (MessageHandlingException e) { assertThat(e.getCause(), instanceOf(DestinationResolutionException.class)); } }
@Test public void testProxyBridge() { assertTrue(AopUtils.isCglibProxy(this.bridge)); this.bridge.handleMessage(new GenericMessage<>("foo")); Message<?> received = this.out.receive(0); assertNotNull(received); assertNotNull(received.getHeaders().get(MessageHistory.HEADER_NAME)); MessageHistory history = received.getHeaders().get(MessageHistory.HEADER_NAME, MessageHistory.class); assertThat(history.size(), equalTo(2)); }
@Test(timeout = 1000) public void missingOutputChannelAllowedForReplyChannelMessages() throws Exception { PollableChannel replyChannel = new QueueChannel(); Message<String> request = MessageBuilder.withPayload("tst").setReplyChannel(replyChannel).build(); handler.handleMessage(request); assertThat(replyChannel.receive(), sameExceptImmutableHeaders(request)); }
@Test public void simpleBridge() { QueueChannel outputChannel = new QueueChannel(); handler.setOutputChannel(outputChannel); Message<?> request = new GenericMessage<String>("test"); handler.handleMessage(request); Message<?> reply = outputChannel.receive(0); assertNotNull(reply); assertThat(reply, sameExceptImmutableHeaders(request)); }