From cddb60cda311b5bb435f7d0dbaac248a11e8de37 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 23 Feb 2022 15:08:18 +0100 Subject: [PATCH] GH-816 Enhance test validating collection output --- .../BeanFactoryAwareFunctionRegistryTests.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistryTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistryTests.java index 74d93d7fa..45925c37c 100644 --- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistryTests.java +++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistryTests.java @@ -418,18 +418,25 @@ public class BeanFactoryAwareFunctionRegistryTests { assertThat(result.getPayload()).isEqualTo("\"b2xsZWg=\"".getBytes()); } + @SuppressWarnings({ "rawtypes", "unchecked" }) @Test public void testMultipleValuesInOutputHandling() throws Exception { FunctionCatalog catalog = this.configureCatalog(CollectionOutConfiguration.class); FunctionInvocationWrapper function = catalog.lookup("parseToList", "application/json"); assertThat(function).isNotNull(); - Object result = function.apply(MessageBuilder.withPayload("1, 2, 3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build()); + Object result = function.apply(MessageBuilder.withPayload("1,2,3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build()); assertThat(result instanceof Message).isTrue(); + byte[] payload = ((Message) result).getPayload(); + JsonMapper mapper = this.context.getBean(JsonMapper.class); + List resultList = mapper.fromJson(payload, List.class); + assertThat(resultList.size()).isEqualTo(3); + assertThat(resultList.get(0)).isEqualTo("1"); + assertThat(resultList.get(1)).isEqualTo("2"); function = catalog.lookup("parseToListOfMessages", "application/json"); assertThat(function).isNotNull(); - result = function.apply(MessageBuilder.withPayload("1, 2, 3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build()); - assertThat(result instanceof Message).isFalse(); + result = function.apply(MessageBuilder.withPayload("1,2,3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build()); + assertThat(result instanceof List).isTrue(); } /**