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