1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.transformers;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.transformer.TransformerException;
15 import org.mule.module.client.MuleClient;
16 import org.mule.tck.junit4.FunctionalTestCase;
17 import org.mule.RequestContext;
18 import org.mule.transformer.AbstractTransformer;
19
20 import org.junit.Test;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertNotNull;
24
25 public class TransformerStoppingEventFlowTestCase extends FunctionalTestCase
26 {
27
28 @Override
29 protected String getConfigResources()
30 {
31 return "org/mule/test/transformers/transformer-stopped-processing.xml";
32 }
33
34 @Test
35 public void testNullReturnStopsFlow() throws Exception
36 {
37 MuleClient client = new MuleClient(muleContext);
38
39 MuleMessage msg = client.send("vm://in", TEST_MESSAGE, null);
40 assertNotNull(msg);
41 final String payload = msg.getPayloadAsString();
42 assertNotNull(payload);
43 assertEquals(TEST_MESSAGE, payload);
44 }
45
46 public static final class StopFlowTransformer extends AbstractTransformer
47 {
48
49
50 protected Object doTransform(Object src, String encoding) throws TransformerException
51 {
52 RequestContext.getEventContext().setStopFurtherProcessing(true);
53 return src;
54 }
55 }
56 }