GH-883 Add support for filtering out ineligible functions

Resolves #883
This commit is contained in:
Oleg Zhurakousky
2022-06-13 15:46:42 +02:00
parent 7b0dd911f1
commit 9f9d5602e7
5 changed files with 90 additions and 1 deletions

View File

@@ -104,6 +104,27 @@ public class BeanFactoryAwareFunctionRegistryTests {
System.clearProperty("spring.cloud.function.definition");
}
@Test
public void testFunctionEligibilityFiltering() {
System.setProperty("spring.cloud.function.ineligible-definitions", "asJsonNode");
Collection<FunctionInvocationWrapper> registeredFunction = new ArrayList<FunctionInvocationWrapper>();
FunctionCatalog catalog = this.configureCatalog(JsonNodeConfiguration.class);
for (String beanName : context.getBeanDefinitionNames()) {
try {
FunctionInvocationWrapper function = catalog.lookup(beanName);
if (function != null) {
registeredFunction.add(function);
}
}
catch (Exception e) {
// ignore
}
}
System.out.println(registeredFunction);
assertThat(registeredFunction.size()).isEqualTo(2);
assertThat((FunctionInvocationWrapper) catalog.lookup("asJsonNode")).isNull();
}
@Test
public void testJsonNodeAsInput() throws Exception {
FunctionCatalog catalog = this.configureCatalog(JsonNodeConfiguration.class);