diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java index 9fe1f4773..bdb9410b8 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java @@ -38,9 +38,8 @@ public abstract class FunctionAroundWrapper implements BiFunction, String> uppercase() { + return v -> v.getPayload().toUpperCase(); + } + + @Bean + public FunctionAroundWrapper wrapper() { + return new FunctionAroundWrapper() { + + @Override + protected Object doApply(Object input, FunctionInvocationWrapper targetFunction) { + // in this test we know input is a Message + Message mInput = (Message) input; + Message advisedMessage = MessageBuilder.fromMessage(mInput).setHeader("advised", "true").build(); + Object result = targetFunction.apply(advisedMessage); + assertThat(result).isInstanceOf(Message.class); + return result; + } + }; + } + } + @EnableAutoConfiguration @Configuration protected static class SampleFunctionConfiguration {