GH-816 Enhance test validating collection output
This commit is contained in:
@@ -418,18 +418,25 @@ public class BeanFactoryAwareFunctionRegistryTests {
|
|||||||
assertThat(result.getPayload()).isEqualTo("\"b2xsZWg=\"".getBytes());
|
assertThat(result.getPayload()).isEqualTo("\"b2xsZWg=\"".getBytes());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
@Test
|
@Test
|
||||||
public void testMultipleValuesInOutputHandling() throws Exception {
|
public void testMultipleValuesInOutputHandling() throws Exception {
|
||||||
FunctionCatalog catalog = this.configureCatalog(CollectionOutConfiguration.class);
|
FunctionCatalog catalog = this.configureCatalog(CollectionOutConfiguration.class);
|
||||||
FunctionInvocationWrapper function = catalog.lookup("parseToList", "application/json");
|
FunctionInvocationWrapper function = catalog.lookup("parseToList", "application/json");
|
||||||
assertThat(function).isNotNull();
|
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();
|
assertThat(result instanceof Message).isTrue();
|
||||||
|
byte[] payload = ((Message<byte[]>) 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");
|
function = catalog.lookup("parseToListOfMessages", "application/json");
|
||||||
assertThat(function).isNotNull();
|
assertThat(function).isNotNull();
|
||||||
result = function.apply(MessageBuilder.withPayload("1, 2, 3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build());
|
result = function.apply(MessageBuilder.withPayload("1,2,3".getBytes()).setHeader(MessageHeaders.CONTENT_TYPE, "text/plain").build());
|
||||||
assertThat(result instanceof Message).isFalse();
|
assertThat(result instanceof List).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user