Refactored Message-transformation tests for new implementations.

This commit is contained in:
Mark Fisher
2008-09-03 04:51:22 +00:00
parent 860709910d
commit b2da8c5f2a
3 changed files with 34 additions and 39 deletions

View File

@@ -29,45 +29,45 @@ import org.springframework.integration.message.MessageBuilder;
/**
* @author Mark Fisher
*/
public class HeaderTransformingMessageHandlerTests {
public class HeaderTransformerTests {
@Test
public void addHeader() {
HeaderTransformer transformer = new HeaderTransformer() {
public void transform(Map<String, Object> headers) {
AbstractHeaderTransformer transformer = new AbstractHeaderTransformer() {
@Override
protected void transformHeaders(Map<String, Object> headers) {
headers.put("header2", "baz");
}
};
HeaderTransformingMessageHandler handler = new HeaderTransformingMessageHandler(transformer);
Message<String> message = MessageBuilder.fromPayload("foo").setHeader("header1", "bar").build();
Message<?> result = handler.handle(message);
Message<?> result = transformer.transform(message);
assertEquals("bar", result.getHeaders().get("header1"));
assertEquals("baz", result.getHeaders().get("header2"));
}
@Test
public void replaceHeader() {
HeaderTransformer transformer = new HeaderTransformer() {
public void transform(Map<String, Object> headers) {
AbstractHeaderTransformer transformer = new AbstractHeaderTransformer() {
@Override
protected void transformHeaders(Map<String, Object> headers) {
headers.put("header1", "baz");
}
};
HeaderTransformingMessageHandler handler = new HeaderTransformingMessageHandler(transformer);
Message<String> message = MessageBuilder.fromPayload("foo").setHeader("header1", "bar").build();
Message<?> result = handler.handle(message);
Message<?> result = transformer.transform(message);
assertEquals("baz", result.getHeaders().get("header1"));
}
@Test
public void removeHeader() {
HeaderTransformer transformer = new HeaderTransformer() {
public void transform(Map<String, Object> headers) {
AbstractHeaderTransformer transformer = new AbstractHeaderTransformer() {
@Override
protected void transformHeaders(Map<String, Object> headers) {
headers.remove("header1");
}
};
HeaderTransformingMessageHandler handler = new HeaderTransformingMessageHandler(transformer);
Message<String> message = MessageBuilder.fromPayload("foo").setHeader("header1", "bar").build();
Message<?> result = handler.handle(message);
Message<?> result = transformer.transform(message);
assertNull(result.getHeaders().get("header1"));
}

View File

@@ -22,33 +22,31 @@ import java.util.Date;
import org.junit.Test;
import org.springframework.integration.message.GenericMessage;
import org.springframework.integration.message.MessageHandlingException;
import org.springframework.integration.message.StringMessage;
/**
* @author Mark Fisher
*/
public class MethodInvokingPayloadTransformerTests {
public class MethodInvokingTransformerTests {
@Test
public void testSimpleMethod() throws Exception {
MethodInvokingPayloadTransformer transformer = new MethodInvokingPayloadTransformer();
transformer.setObject(new TestBean());
transformer.setMethodName("exclaim");
assertEquals("FOO!", transformer.transform("foo"));
MethodInvokingTransformer transformer = new MethodInvokingTransformer(new TestBean(), "exclaim");
assertEquals("FOO!", transformer.transform(new StringMessage("foo")).getPayload());
}
@Test
public void testTypeConversion() throws Exception {
MethodInvokingPayloadTransformer transformer = new MethodInvokingPayloadTransformer();
transformer.setObject(new TestBean());
transformer.setMethodName("exclaim");
assertEquals("123!", transformer.transform(123));
MethodInvokingTransformer transformer = new MethodInvokingTransformer(new TestBean(), "exclaim");
assertEquals("123!", transformer.transform(new GenericMessage<Integer>(123)).getPayload());
}
@Test(expected=NoSuchMethodException.class)
@Test(expected = MessageHandlingException.class)
public void testTypeConversionFailure() throws Exception {
MethodInvokingPayloadTransformer transformer = new MethodInvokingPayloadTransformer();
transformer.setObject(new TestBean());
transformer.setMethodName("exclaim");
transformer.transform(new Date());
MethodInvokingTransformer transformer = new MethodInvokingTransformer(new TestBean(), "exclaim");
transformer.transform(new GenericMessage<Date>(new Date()));
}

View File

@@ -30,37 +30,34 @@ import org.springframework.integration.message.StringMessage;
/**
* @author Mark Fisher
*/
public class PayloadTransformingMessageHandlerTests {
public class PayloadTransformerTests {
@Test
public void testSuccessfulTransformation() {
PayloadTransformingMessageHandler handler = new PayloadTransformingMessageHandler(
new TestPayloadTransformer());
TestPayloadTransformer transformer = new TestPayloadTransformer();
Message<?> message = new StringMessage("foo");
Message<?> result = handler.handle(message);
Message<?> result = transformer.transform(message);
assertEquals(3, result.getPayload());
}
@Test(expected=MessagingException.class)
public void testExceptionThrownByTransformer() {
PayloadTransformingMessageHandler handler = new PayloadTransformingMessageHandler(
new TestPayloadTransformer());
TestPayloadTransformer transformer = new TestPayloadTransformer();
Message<?> message = new StringMessage("bad");
handler.handle(message);
transformer.transform(message);
}
@Test(expected=MessagingException.class)
public void testWrongPayloadType() {
PayloadTransformingMessageHandler handler = new PayloadTransformingMessageHandler(
new TestPayloadTransformer());
TestPayloadTransformer transformer = new TestPayloadTransformer();
Message<?> message = new GenericMessage<Date>(new Date());
handler.handle(message);
transformer.transform(message);
}
private static class TestPayloadTransformer implements PayloadTransformer<String, Integer> {
private static class TestPayloadTransformer extends AbstractPayloadTransformer<String, Integer> {
public Integer transform(String s) throws Exception {
public Integer transformPayload(String s) throws Exception {
if (s.equals("bad")) {
throw new Exception("bad input!");
}