GH-679 Add test to validate output conversion for composed functions
Resolves #679
This commit is contained in:
@@ -258,6 +258,25 @@ public class BeanFactoryAwareFunctionRegistryTests {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCompositionWithOutputConversion() {
|
||||
FunctionCatalog catalog = this.configureCatalog();
|
||||
Function<Flux<String>, Flux<Message<byte[]>>> fluxFunction = catalog.lookup("uppercase|reverseFlux", "application/json");
|
||||
List<Message<byte[]>> result = fluxFunction.apply(Flux.just("hello", "bye")).collectList().block();
|
||||
assertThat(result.get(0).getPayload()).isEqualTo("\"OLLEH\"".getBytes());
|
||||
assertThat(result.get(1).getPayload()).isEqualTo("\"EYB\"".getBytes());
|
||||
|
||||
fluxFunction = catalog.lookup("uppercase|reverse|reverseFlux", "application/json");
|
||||
result = fluxFunction.apply(Flux.just("hello", "bye")).collectList().block();
|
||||
assertThat(result.get(0).getPayload()).isEqualTo("\"HELLO\"".getBytes());
|
||||
assertThat(result.get(1).getPayload()).isEqualTo("\"BYE\"".getBytes());
|
||||
|
||||
fluxFunction = catalog.lookup("uppercase|reverseFlux|reverse", "application/json");
|
||||
result = fluxFunction.apply(Flux.just("hello", "bye")).collectList().block();
|
||||
assertThat(result.get(0).getPayload()).isEqualTo("\"HELLO\"".getBytes());
|
||||
assertThat(result.get(1).getPayload()).isEqualTo("\"BYE\"".getBytes());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReactiveFunctionWithImperativeInputReactiveOutput() {
|
||||
FunctionCatalog catalog = this.configureCatalog();
|
||||
|
||||
Reference in New Issue
Block a user