From 7986d8a6c7f87ef2408386773c6dbee2650a0b39 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Wed, 9 Jan 2008 15:58:50 +0000 Subject: [PATCH] Added tests for Message subclass as return value. --- .../DefaultMessageHandlerAdapterTests.java | 15 +++++++++++++++ .../config/DefaultMessageHandlerCreatorTests.java | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/DefaultMessageHandlerAdapterTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/DefaultMessageHandlerAdapterTests.java index a7c489107a..de63d1cd39 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/DefaultMessageHandlerAdapterTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/DefaultMessageHandlerAdapterTests.java @@ -81,6 +81,17 @@ public class DefaultMessageHandlerAdapterTests { assertEquals("testing-5", result.getPayload()); } + @Test + public void testMessageSubclassAsMethodParameterAndMessageSubclassAsReturnValue() { + DefaultMessageHandlerAdapter adapter = new DefaultMessageHandlerAdapter(); + adapter.setShouldUseMapperOnInvocation(false); + adapter.setObject(new TestHandler()); + adapter.setMethodName("acceptMessageSubclassAndReturnMessageSubclass"); + adapter.afterPropertiesSet(); + Message result = adapter.handle(new StringMessage("testing")); + assertEquals("testing-6", result.getPayload()); + } + private static class TestHandler { @@ -103,6 +114,10 @@ public class DefaultMessageHandlerAdapterTests { public Message acceptMessageSubclassAndReturnMessage(StringMessage m) { return new StringMessage(m.getPayload() + "-5"); } + + public StringMessage acceptMessageSubclassAndReturnMessageSubclass(StringMessage m) { + return new StringMessage(m.getPayload() + "-6"); + } } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/handler/config/DefaultMessageHandlerCreatorTests.java b/spring-integration-core/src/test/java/org/springframework/integration/handler/config/DefaultMessageHandlerCreatorTests.java index c0a650e1b7..d643dd19f5 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/handler/config/DefaultMessageHandlerCreatorTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/handler/config/DefaultMessageHandlerCreatorTests.java @@ -74,6 +74,15 @@ public class DefaultMessageHandlerCreatorTests { assertEquals("testing-5", result.getPayload()); } + @Test + public void testMessageSubclassAsMethodParameterAndMessageSubclassAsReturnValue() throws Exception { + DefaultMessageHandlerCreator creator = new DefaultMessageHandlerCreator(); + MessageHandler handler = creator.createHandler(new TestHandler(), + TestHandler.class.getMethod("acceptMessageSubclassAndReturnMessageSubclass", StringMessage.class), null); + Message result = handler.handle(new StringMessage("testing")); + assertEquals("testing-6", result.getPayload()); + } + private static class TestHandler { @@ -96,5 +105,10 @@ public class DefaultMessageHandlerCreatorTests { public Message acceptMessageSubclassAndReturnMessage(StringMessage m) { return new StringMessage(m.getPayload() + "-5"); } + + public StringMessage acceptMessageSubclassAndReturnMessageSubclass(StringMessage m) { + return new StringMessage(m.getPayload() + "-6"); + } } + }