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); }; } }