View Javadoc

1   /*
2    * $Id: CombineCollectionsTransformerTestCase.java 22377 2011-07-11 12:41:42Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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  }