View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.transport.http.transformers;
8   
9   import org.mule.DefaultMuleMessage;
10  import org.mule.api.transformer.TransformerException;
11  import org.mule.tck.junit4.AbstractMuleContextTestCase;
12  
13  import java.util.List;
14  import java.util.Map;
15  
16  import org.junit.Test;
17  
18  import static org.junit.Assert.assertEquals;
19  import static org.junit.Assert.assertNull;
20  import static org.junit.Assert.assertTrue;
21  
22  public class FormTransformerTestCase extends AbstractMuleContextTestCase
23  {
24      private FormTransformer transformer;
25  
26      @Override
27      protected void doSetUp() throws Exception
28      {
29          super.doSetUp();
30  
31          transformer = new FormTransformer();
32      }
33  
34      @Test
35      public void testFormTransformer() throws TransformerException
36      {
37          DefaultMuleMessage msg = new DefaultMuleMessage("test1=value1&test2=value2&test3", muleContext);
38          Object result = transformer.transform(msg);
39          assertTrue(result instanceof Map);
40          
41          Map<String,String> m = (Map<String,String>) result;
42          assertEquals("value1", m.get("test1"));
43          assertEquals("value2", m.get("test2"));
44          assertNull(m.get("test3"));
45      }
46  
47      @Test
48      public void testMultipleValues() throws TransformerException
49      {
50          DefaultMuleMessage msg = new DefaultMuleMessage("test1=value1&test1=value2", muleContext);
51          Object result = transformer.transform(msg);
52          assertTrue(result instanceof Map);
53          
54          Map<String,Object> m = (Map<String,Object>) result;
55          Object o = m.get("test1");
56          assertTrue(o instanceof List);
57  
58          List list = (List) o;
59          assertTrue(list.contains("value1"));
60          assertTrue(list.contains("value2"));
61          
62      }
63  
64  }