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.test.usecases.sync;
8   
9   import org.mule.api.MuleMessage;
10  import org.mule.module.client.MuleClient;
11  import org.mule.tck.junit4.FunctionalTestCase;
12  import org.mule.transformer.compression.GZipUncompressTransformer;
13  import org.mule.transformer.simple.ByteArrayToSerializable;
14  import org.mule.transformer.types.DataTypeFactory;
15  
16  import java.util.Arrays;
17  
18  import org.junit.Test;
19  
20  import static org.junit.Assert.assertEquals;
21  import static org.junit.Assert.assertNotNull;
22  
23  public class HttpTransformTestCase extends FunctionalTestCase
24  {
25  
26      @Override
27      protected String getConfigResources()
28      {
29          return "org/mule/test/usecases/sync/http-transform.xml";
30      }
31  
32      @Test
33      public void testTransform() throws Exception
34      {
35          MuleClient client = new MuleClient(muleContext);
36          MuleMessage message = client.send("http://localhost:18080/RemoteService", "payload", null);
37          assertNotNull(message);
38          GZipUncompressTransformer gu = new GZipUncompressTransformer();
39          gu.setMuleContext(muleContext);
40          gu.setReturnDataType(DataTypeFactory.STRING);
41          assertNotNull(message.getPayload());
42          String result = (String)gu.transform(message.getPayloadAsBytes());
43          assertEquals("<string>payload</string>", result);
44      }
45  
46      @Test
47      public void testBinary() throws Exception
48      {
49          MuleClient client = new MuleClient(muleContext);
50          Object payload = Arrays.asList(42);
51          MuleMessage message = client.send("http://localhost:18081/RemoteService", payload, null);
52          assertNotNull(message);
53          ByteArrayToSerializable bas = new ByteArrayToSerializable();
54          bas.setMuleContext(muleContext);
55          assertNotNull(message.getPayload());
56          Object result = bas.transform(message.getPayload());
57          assertEquals(payload, result);
58      }
59  
60      @Test
61      public void testBinaryWithBridge() throws Exception
62      {
63          MuleClient client = new MuleClient(muleContext);
64          Object payload = Arrays.asList(42);
65          MuleMessage message = client.send("vm://LocalService", payload, null);
66          assertNotNull(message);
67          ByteArrayToSerializable bas = new ByteArrayToSerializable();
68          bas.setMuleContext(muleContext);
69          assertNotNull(message.getPayload());
70          Object result = bas.transform(message.getPayload());
71          assertEquals(payload, result);
72      }
73  }