From 70b30a95f5b37de2287637ec52dd4617901130e9 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 7 Jan 2019 16:26:25 +0100 Subject: [PATCH] Added additional tests for Argument Resolvers --- .../binder/tck/ContentTypeTckTests.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java index 6a0e004e9..0d4f59a52 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/tck/ContentTypeTckTests.java @@ -1075,4 +1075,28 @@ public class ContentTypeTckTests { return value; } } + + @Test + public void testWithTypelessMessageInputParameterAndServiceActivator() { + ApplicationContext context = new SpringApplicationBuilder(TypelessPayloadConfigurationSA.class) + .web(WebApplicationType.NONE) + .run("--spring.jmx.enabled=false"); + InputDestination source = context.getBean(InputDestination.class); + OutputDestination target = context.getBean(OutputDestination.class); + String jsonPayload = "[\"foo\",\"bar\"]"; + source.send(MessageBuilder.withPayload(jsonPayload.getBytes()).build()); + Message outputMessage = target.receive(); + assertEquals(jsonPayload, new String(outputMessage.getPayload(), StandardCharsets.UTF_8)); + } + + @EnableBinding(Processor.class) + @Import(TestChannelBinderConfiguration.class) + @EnableAutoConfiguration + public static class TypelessMessageConfigurationSA { + @ServiceActivator(inputChannel=Processor.INPUT, outputChannel=Processor.OUTPUT) + public Object echo(Message value) throws Exception { + System.out.println(value.getPayload()); + return value.getPayload(); + } + } }