From 6bf1714374b6b2b1e3855a3596e7f8933276b48f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 22 Aug 2019 20:41:22 +0200 Subject: [PATCH] add test for implicit consumer binding --- .../ImplicitFunctionBindingTests.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java index e2a77ef12..917cb7e92 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java @@ -121,6 +121,25 @@ public class ImplicitFunctionBindingTests { } } + @Test + public void testSimpleConsumerWithoutDefinitionProperty() { + System.clearProperty("spring.cloud.stream.function.definition"); + try (ConfigurableApplicationContext context = new SpringApplicationBuilder( + TestChannelBinderConfiguration.getCompleteConfiguration( + SingleConsumerConfiguration.class)) + .web(WebApplicationType.NONE) + .run("--spring.jmx.enabled=false")) { + + InputDestination inputDestination = context.getBean(InputDestination.class); + Message inputMessage = MessageBuilder + .withPayload("Hello".getBytes()).build(); + inputDestination.send(inputMessage); + + assertThat(System.getProperty("consumer")).isEqualTo("Hello"); + System.clearProperty("consumer"); + } + } + @Test public void testConsumer() { try (ConfigurableApplicationContext context = new SpringApplicationBuilder( @@ -192,12 +211,16 @@ public class ImplicitFunctionBindingTests { return x; }; } + } + @EnableAutoConfiguration + public static class SingleConsumerConfiguration { @Bean public Consumer consumer() { return value -> { System.out.println(value); + System.setProperty("consumer", value); }; } }