List of usage examples for org.springframework.integration.test.util TestUtils getPropertyValue
@SuppressWarnings("unchecked") public static <T> T getPropertyValue(Object root, String propertyPath, Class<T> type)
From source file:sipackage.config.xml.SIAdapterUpperPrefixMessageHandlerParserTests.java
@Test public void testMessageHandlerParser() throws Exception { setUp("SIAdapterUpperPrefixMessageHandlerParserTests.xml", getClass()); final AbstractMessageChannel inputChannel = TestUtils.getPropertyValue(this.consumer, "inputChannel", AbstractMessageChannel.class); assertEquals("target", inputChannel.getComponentName()); final SIAdapterUpperPrefixExecutor siAdapterLowerPrefixExecutor = TestUtils.getPropertyValue(this.consumer, "handler.siAdapterLowerPrefixExecutor", SIAdapterUpperPrefixExecutor.class); assertNotNull(siAdapterLowerPrefixExecutor); final String exsampleProperty = TestUtils.getPropertyValue(siAdapterLowerPrefixExecutor, "exampleProperty", String.class); assertEquals("I am a sample property", exsampleProperty); }
From source file:sipackage.config.xml.SIAdapterUpperPrefixOutboundGatewayParserTests.java
@Test public void testOutboundGatewayParser() throws Exception { setUp("SIAdapterUpperPrefixOutboundGatewayParserTests.xml", getClass(), "siAdapterLowerPrefixOutboundGateway"); final AbstractMessageChannel inputChannel = TestUtils.getPropertyValue(this.consumer, "inputChannel", AbstractMessageChannel.class); assertEquals("in", inputChannel.getComponentName()); final SIAdapterUpperPrefixOutboundGateway siAdapterLowerPrefixOutboundGateway = TestUtils .getPropertyValue(this.consumer, "handler", SIAdapterUpperPrefixOutboundGateway.class); long sendTimeout = TestUtils.getPropertyValue(siAdapterLowerPrefixOutboundGateway, "messagingTemplate.sendTimeout", Long.class); assertEquals(100, sendTimeout);// w ww. jav a 2 s.com final SIAdapterUpperPrefixExecutor siAdapterLowerPrefixExecutor = TestUtils.getPropertyValue(this.consumer, "handler.siAdapterLowerPrefixExecutor", SIAdapterUpperPrefixExecutor.class); assertNotNull(siAdapterLowerPrefixExecutor); final String exsampleProperty = TestUtils.getPropertyValue(siAdapterLowerPrefixExecutor, "exampleProperty", String.class); assertEquals("I am a sample property", exsampleProperty); }
From source file:sipackage.config.xml.SIAdapterUpperPrefixInboundChannelAdapterParserTests.java
@Test public void testInboundChannelAdapterParser() throws Exception { setUp("SIAdapterUpperPrefixInboundChannelAdapterParserTests.xml", getClass(), "siAdapterLowerPrefixInboundChannelAdapter"); final AbstractMessageChannel outputChannel = TestUtils.getPropertyValue(this.consumer, "outputChannel", AbstractMessageChannel.class); assertEquals("out", outputChannel.getComponentName()); final SIAdapterUpperPrefixExecutor siAdapterLowerPrefixExecutor = TestUtils.getPropertyValue(this.consumer, "source.siAdapterLowerPrefixExecutor", SIAdapterUpperPrefixExecutor.class); assertNotNull(siAdapterLowerPrefixExecutor); final String exsampleProperty = TestUtils.getPropertyValue(siAdapterLowerPrefixExecutor, "exampleProperty", String.class); assertEquals("I am a sample property", exsampleProperty); }
From source file:com.bigdata.log.LogSinkApplicationTests.java
@Test public void test() { assertNotNull(this.sink.input()); assertEquals(CustomLoggingHandler.Level.WARN, this.logSinkHandler.getLevel()); Log logger = TestUtils.getPropertyValue(this.logSinkHandler, "messageLogger", Log.class); assertEquals("foo", TestUtils.getPropertyValue(logger, "name")); logger = spy(logger);/*from ww w.j a va2 s . c o m*/ new DirectFieldAccessor(this.logSinkHandler).setPropertyValue("messageLogger", logger); GenericMessage<String> message = new GenericMessage<>("foo"); this.sink.input().send(message); ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class); verify(logger).warn(captor.capture()); assertEquals("customized message for sample : FOO", captor.getValue()); this.logSinkHandler.setExpression("#this"); this.sink.input().send(message); verify(logger, times(2)).warn(captor.capture()); // assertSame(message, captor.getValue()); }
From source file:org.springframework.cloud.stream.app.log.sink.LogSinkApplicationTests.java
private void testMessage(Message<byte[]> message, String expectedPayload) { assertNotNull(this.sink.input()); assertEquals(LoggingHandler.Level.WARN, this.logSinkHandler.getLevel()); Log logger = TestUtils.getPropertyValue(this.logSinkHandler, "messageLogger", Log.class); assertEquals("foo", TestUtils.getPropertyValue(logger, "logger.name")); logger = spy(logger);//from w ww .jav a2 s . c om new DirectFieldAccessor(this.logSinkHandler).setPropertyValue("messageLogger", logger); this.sink.input().send(message); ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class); verify(logger).warn(captor.capture()); assertEquals(expectedPayload.toUpperCase(), captor.getValue()); this.logSinkHandler.setLogExpressionString("#this"); this.sink.input().send(message); verify(logger, times(2)).warn(captor.capture()); Message captorMessage = (Message) captor.getAllValues().get(2); assertEquals("Unexpected payload value", expectedPayload, captorMessage.getPayload()); MessageHeaders messageHeaders = captorMessage.getHeaders(); assertEquals("Unexpected number of headers", 3, messageHeaders.size()); String[] headers = { "contentType" }; for (String header : headers) { assertTrue("Missing " + header + " header", messageHeaders.containsKey(header)); assertEquals("Header " + header + " does not match", messageHeaders.get(header), message.getHeaders().get(header)); } }
From source file:org.springframework.cloud.stream.app.throughput.sink.ThroughputSinkTests.java
@Test public void testSink() throws Exception { assertNotNull(this.sink.input()); this.sink.input().send(new GenericMessage<>("foo")); Log logger = spy(TestUtils.getPropertyValue(this.configuration, "logger", Log.class)); new DirectFieldAccessor(this.configuration).setPropertyValue("logger", logger); final CountDownLatch latch = new CountDownLatch(1); doAnswer(new Answer<Void>() { @Override/*from w w w .j a v a 2 s . com*/ public Void answer(InvocationOnMock invocation) throws Throwable { invocation.callRealMethod(); latch.countDown(); return null; } }).when(logger).info(anyString()); assertTrue(latch.await(10, TimeUnit.SECONDS)); }
From source file:org.springframework.cloud.stream.module.log.LogSinkApplicationTests.java
@Test public void test() { assertNotNull(this.sink.input()); assertEquals(LoggingHandler.Level.WARN, this.logSinkHandler.getLevel()); Log logger = TestUtils.getPropertyValue(this.logSinkHandler, "messageLogger", Log.class); assertEquals("foo", TestUtils.getPropertyValue(logger, "name")); logger = spy(logger);/*from w ww .j a va2 s. c o m*/ new DirectFieldAccessor(this.logSinkHandler).setPropertyValue("messageLogger", logger); GenericMessage<String> message = new GenericMessage<>("foo"); this.sink.input().send(message); ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class); verify(logger).warn(captor.capture()); assertEquals("FOO", captor.getValue()); this.logSinkHandler.setExpression("#this"); this.sink.input().send(message); verify(logger, times(2)).warn(captor.capture()); assertSame(message, captor.getValue()); }
From source file:org.springframework.integration.aggregator.BarrierMessageHandlerTests.java
@Test public void testRequestBeforeReply() throws Exception { final BarrierMessageHandler handler = new BarrierMessageHandler(10000); QueueChannel outputChannel = new QueueChannel(); handler.setOutputChannel(outputChannel); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet();//from w w w.ja v a 2s . c om final AtomicReference<Exception> dupCorrelation = new AtomicReference<Exception>(); final CountDownLatch latch = new CountDownLatch(1); Runnable runnable = () -> { try { handler.handleMessage(MessageBuilder.withPayload("foo").setCorrelationId("foo").build()); } catch (MessagingException e) { dupCorrelation.set(e); } latch.countDown(); }; ExecutorService exec = Executors.newCachedThreadPool(); exec.execute(runnable); exec.execute(runnable); Map<?, ?> suspensions = TestUtils.getPropertyValue(handler, "suspensions", Map.class); int n = 0; while (n++ < 100 && suspensions.size() == 0) { Thread.sleep(100); } Map<?, ?> inProcess = TestUtils.getPropertyValue(handler, "inProcess", Map.class); assertEquals(1, inProcess.size()); assertTrue("suspension did not appear in time", n < 100); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertNotNull(dupCorrelation.get()); assertThat(dupCorrelation.get().getMessage(), startsWith("Correlation key (foo) is already in use by")); handler.trigger(MessageBuilder.withPayload("bar").setCorrelationId("foo").build()); Message<?> received = outputChannel.receive(10000); assertNotNull(received); List<?> result = (List<?>) received.getPayload(); assertEquals("foo", result.get(0)); assertEquals("bar", result.get(1)); assertEquals(0, suspensions.size()); assertEquals(0, inProcess.size()); }
From source file:org.springframework.integration.aggregator.BarrierMessageHandlerTests.java
@Test public void testReplyBeforeRequest() throws Exception { final BarrierMessageHandler handler = new BarrierMessageHandler(10000); QueueChannel outputChannel = new QueueChannel(); handler.setOutputChannel(outputChannel); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet();//from www. j av a 2s . c o m Executors.newSingleThreadExecutor() .execute(() -> handler.trigger(MessageBuilder.withPayload("bar").setCorrelationId("foo").build())); Map<?, ?> suspensions = TestUtils.getPropertyValue(handler, "suspensions", Map.class); int n = 0; while (n++ < 100 && suspensions.size() == 0) { Thread.sleep(100); } assertTrue("suspension did not appear in time", n < 100); handler.handleMessage(MessageBuilder.withPayload("foo").setCorrelationId("foo").build()); Message<?> received = outputChannel.receive(10000); assertNotNull(received); List<?> result = (ArrayList<?>) received.getPayload(); assertEquals("foo", result.get(0)); assertEquals("bar", result.get(1)); assertEquals(0, suspensions.size()); }
From source file:org.springframework.integration.aggregator.BarrierMessageHandlerTests.java
@Test public void testLateReply() throws Exception { final BarrierMessageHandler handler = new BarrierMessageHandler(0); QueueChannel outputChannel = new QueueChannel(); QueueChannel discardChannel = new QueueChannel(); handler.setOutputChannel(outputChannel); handler.setDiscardChannelName("discards"); handler.setChannelResolver(s -> discardChannel); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet();/* w ww .j ava 2 s . c o m*/ final CountDownLatch latch = new CountDownLatch(1); Executors.newSingleThreadExecutor().execute(() -> { handler.handleMessage(MessageBuilder.withPayload("foo").setCorrelationId("foo").build()); latch.countDown(); }); Map<?, ?> suspensions = TestUtils.getPropertyValue(handler, "suspensions", Map.class); assertTrue(latch.await(10, TimeUnit.SECONDS)); assertEquals("suspension not removed", 0, suspensions.size()); Log logger = spy(TestUtils.getPropertyValue(handler, "logger", Log.class)); new DirectFieldAccessor(handler).setPropertyValue("logger", logger); final Message<String> triggerMessage = MessageBuilder.withPayload("bar").setCorrelationId("foo").build(); handler.trigger(triggerMessage); ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class); verify(logger).error(captor.capture()); assertThat(captor.getValue(), allOf(containsString("Suspending thread timed out or did not arrive within timeout for:"), containsString("payload=bar"))); assertEquals(0, suspensions.size()); Message<?> discard = discardChannel.receive(0); assertSame(discard, triggerMessage); handler.handleMessage(MessageBuilder.withPayload("foo").setCorrelationId("foo").build()); assertEquals(0, suspensions.size()); }