GH-2056 Add additional test to validate the issue

This commit is contained in:
Oleg Zhurakousky
2020-12-03 16:59:22 +01:00
parent b53f2ccbea
commit 897c47a757

View File

@@ -889,6 +889,25 @@ public class ImplicitFunctionBindingTests {
}
}
@Test
public void testGh2054B() {
System.clearProperty("spring.cloud.function.definition");
try (ConfigurableApplicationContext context = new SpringApplicationBuilder(
TestChannelBinderConfiguration.getCompleteConfiguration(ReactiveFunctionConfiguration.class))
.web(WebApplicationType.NONE).run("--spring.jmx.enabled=false",
"--spring.cloud.function.definition=reactivePojo")) {
InputDestination inputDestination = context.getBean(InputDestination.class);
OutputDestination outputDestination = context.getBean(OutputDestination.class);
String jsonPerson = "{\"name\":\"Ricky\",\"id\":1}";
inputDestination.send(MessageBuilder.withPayload(jsonPerson.getBytes()).build());
Message<byte[]> result = outputDestination.receive(2000);
assertThat(new String(result.getPayload())).isEqualTo("{\"name\":\"RICKY\",\"id\":1}");
}
}
@SuppressWarnings("rawtypes")
@@ -1174,6 +1193,14 @@ public class ImplicitFunctionBindingTests {
return MessageBuilder.withPayload(p).copyHeaders(message.getHeaders()).build();
});
}
@Bean
public Function<Flux<Person>, Flux<Person>> reactivePojo() {
return flux -> flux.map(p -> {
p.setName(p.getName().toUpperCase());
return p;
});
}
}
@EnableAutoConfiguration