1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.usecases.sync;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.AbstractServiceAndFlowTestCase;
16 import org.mule.transformer.compression.GZipUncompressTransformer;
17 import org.mule.transformer.simple.ByteArrayToSerializable;
18 import org.mule.transformer.types.DataTypeFactory;
19
20 import java.util.Arrays;
21 import java.util.Collection;
22
23 import org.junit.Test;
24 import org.junit.runners.Parameterized.Parameters;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertNotNull;
28
29 public class HttpTransformTestCase extends AbstractServiceAndFlowTestCase
30 {
31 @Parameters
32 public static Collection<Object[]> parameters()
33 {
34 return Arrays.asList(new Object[][]{
35 {ConfigVariant.SERVICE, "org/mule/test/usecases/sync/http-transform-service.xml"},
36 {ConfigVariant.FLOW, "org/mule/test/usecases/sync/http-transform-flow.xml"}
37 });
38 }
39
40 public HttpTransformTestCase(ConfigVariant variant, String configResources)
41 {
42 super(variant, configResources);
43 }
44
45 @Test
46 public void testTransform() throws Exception
47 {
48 MuleClient client = new MuleClient(muleContext);
49 MuleMessage message = client.send("http://localhost:18080/RemoteService", "payload", null);
50 assertNotNull(message);
51 GZipUncompressTransformer gu = new GZipUncompressTransformer();
52 gu.setMuleContext(muleContext);
53 gu.setReturnDataType(DataTypeFactory.STRING);
54 assertNotNull(message.getPayload());
55 String result = (String)gu.transform(message.getPayloadAsBytes());
56 assertEquals("<string>payload</string>", result);
57 }
58
59 @Test
60 public void testBinary() throws Exception
61 {
62 MuleClient client = new MuleClient(muleContext);
63 Object payload = Arrays.asList(42);
64 MuleMessage message = client.send("http://localhost:18081/RemoteService", payload, null);
65 assertNotNull(message);
66 ByteArrayToSerializable bas = new ByteArrayToSerializable();
67 bas.setMuleContext(muleContext);
68 assertNotNull(message.getPayload());
69 Object result = bas.transform(message.getPayload());
70 assertEquals(payload, result);
71 }
72
73 @Test
74 public void testBinaryWithBridge() throws Exception
75 {
76 MuleClient client = new MuleClient(muleContext);
77 Object payload = Arrays.asList(42);
78 MuleMessage message = client.send("vm://LocalService", payload, null);
79 assertNotNull(message);
80 ByteArrayToSerializable bas = new ByteArrayToSerializable();
81 bas.setMuleContext(muleContext);
82 assertNotNull(message.getPayload());
83 Object result = bas.transform(message.getPayload());
84 assertEquals(payload, result);
85 }
86 }