1
2
3
4
5
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 }