|
29 | 29 | import org.springframework.cloud.function.context.FunctionCatalog; |
30 | 30 | import org.springframework.cloud.function.context.catalog.FunctionTypeUtils; |
31 | 31 | import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper; |
| 32 | +import org.springframework.cloud.function.context.config.KotlinLambdaToFunctionAutoConfiguration; |
32 | 33 | import org.springframework.context.annotation.Bean; |
33 | 34 | import org.springframework.context.annotation.Configuration; |
34 | 35 | import org.springframework.context.support.GenericApplicationContext; |
@@ -59,11 +60,21 @@ public void typeDiscoveryTests() { |
59 | 60 | create(new Class[] { KotlinLambdasConfiguration.class, |
60 | 61 | SimpleConfiguration.class, |
61 | 62 | KotlinComponentFunction.class, |
| 63 | + KotlinPostProcessingFunction.class, |
62 | 64 | ComponentUppercase.class, |
63 | 65 | ComponentWithUnitReturn.class}); |
64 | 66 |
|
65 | 67 | FunctionCatalog functionCatalog = this.context.getBean(FunctionCatalog.class); |
66 | 68 |
|
| 69 | + // Test post-processing logic |
| 70 | + FunctionInvocationWrapper kotlinPostProcessingFunction = functionCatalog.lookup("kotlinPostProcessingFunction"); |
| 71 | + kotlinPostProcessingFunction.apply("bob"); |
| 72 | + kotlinPostProcessingFunction.postProcess(); |
| 73 | + KotlinPostProcessingFunction postProcessingFunction = (KotlinPostProcessingFunction) |
| 74 | + ((KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper) kotlinPostProcessingFunction.getTarget()).getKotlinLambdaTarget(); |
| 75 | + assertThat(postProcessingFunction.getInvoked()).isTrue(); |
| 76 | + // End test post-processing logic |
| 77 | + |
67 | 78 | FunctionInvocationWrapper kotlinComponentFunction = functionCatalog.lookup("kotlinComponentFunction"); |
68 | 79 | assertThat(kotlinComponentFunction.isFunction()).isTrue(); |
69 | 80 | assertThat(kotlinComponentFunction.getInputType().getTypeName()).isEqualTo("java.lang.String"); |
|
0 commit comments