1
2
3
4
5
6
7
8
9
10 package org.mule.routing;
11
12 import org.mule.DefaultMessageCollection;
13 import org.mule.DefaultMuleEvent;
14 import org.mule.DefaultMuleMessage;
15 import org.mule.api.MuleEvent;
16 import org.mule.api.MuleMessageCollection;
17 import org.mule.tck.junit4.AbstractMuleContextTestCase;
18 import org.mule.transformer.simple.CombineCollectionsTransformer;
19
20 import java.util.ArrayList;
21 import java.util.Arrays;
22 import java.util.List;
23
24 import org.junit.Test;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertFalse;
28 import static org.junit.Assert.assertTrue;
29
30 public class CombineCollectionsTransformerTestCase extends AbstractMuleContextTestCase
31 {
32 private CombineCollectionsTransformer merger;
33
34 @Override
35 protected void doSetUp() throws Exception
36 {
37 super.doSetUp();
38
39 merger = new CombineCollectionsTransformer();
40 }
41
42 @Test
43 public void testMuleMessageCollectionMerge() throws Exception
44 {
45 MuleEvent event = getTestEvent("hello");
46
47 DefaultMessageCollection collection = new DefaultMessageCollection(muleContext);
48 collection.addMessage(new DefaultMuleMessage(Arrays.asList("1", "2", "3"), muleContext));
49 collection.addMessage(new DefaultMuleMessage("4", muleContext));
50 collection.addMessage(new DefaultMuleMessage(Arrays.asList("5", "6", "7"), muleContext));
51
52 event = new DefaultMuleEvent(collection, event);
53
54 MuleEvent response = merger.process(event);
55
56 assertFalse(response.getMessage() instanceof MuleMessageCollection);
57
58 assertTrue(response.getMessage().getPayload() instanceof List);
59 assertEquals(7, ((List)response.getMessage().getPayload()).size());
60 }
61
62 @Test
63 public void testMuleMessageMerge() throws Exception
64 {
65 MuleEvent event = getTestEvent("hello");
66
67 ArrayList<Object> payload = new ArrayList<Object>();
68 payload.add(Arrays.asList("1", "2", "3"));
69 payload.add("4");
70 payload.add(Arrays.asList("5", "6", "7"));
71 event.getMessage().setPayload(payload);
72
73 MuleEvent response = merger.process(event);
74
75 assertFalse(response.getMessage() instanceof MuleMessageCollection);
76
77 assertTrue(response.getMessage().getPayload() instanceof List);
78 assertEquals(7, ((List)response.getMessage().getPayload()).size());
79 }
80 }