GH-1097 Ensure empty POJO converted to {} instead of null

Resolves #1097
This commit is contained in:
Oleg Zhurakousky
2024-03-27 18:31:32 +01:00
parent cea464a4d2
commit 8745f32ac2
2 changed files with 23 additions and 1 deletions

View File

@@ -106,6 +106,15 @@ public class BeanFactoryAwareFunctionRegistryTests {
System.clearProperty("spring.cloud.function.definition");
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testEmptyPojoConversion() {
FunctionCatalog catalog = this.configureCatalog(EmptyPojoConfiguratioin.class);
Function function = catalog.lookup("echo");
String result = (String) function.apply(MessageBuilder.withPayload(new EmptyPojo()).build());
assertThat(result).isEqualTo("{}");
}
@Test
public void testFunctionEligibilityFiltering() {
System.setProperty("spring.cloud.function.ineligible-definitions", "asJsonNode");
@@ -1433,4 +1442,17 @@ public class BeanFactoryAwareFunctionRegistryTests {
this.data = data;
}
}
@EnableAutoConfiguration
@Configuration
public static class EmptyPojoConfiguratioin {
@Bean
public Function<String, String> echo() {
return v -> v;
}
}
public static class EmptyPojo {
}
}