1   /*
2    * $Id: ActiveMQJmsTransformersMule2629TestCase.java 9539 2007-11-01 14:07:28Z akuzmin $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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.providers.jms.issues;
11  
12  import org.mule.config.MuleProperties;
13  import org.mule.extras.client.MuleClient;
14  import org.mule.impl.MuleMessage;
15  import org.mule.tck.FunctionalTestCase;
16  import org.mule.umo.UMOEventContext;
17  import org.mule.umo.UMOMessage;
18  import org.mule.umo.lifecycle.Callable;
19  
20  public class ActiveMQJmsTransformersMule2629TestCase extends FunctionalTestCase
21  {
22  
23      public void testMule2629() throws Exception
24      {
25          MuleMessage muleMsg = new MuleMessage(new Payload(2));
26          muleMsg.setProperty(MuleProperties.MULE_REMOTE_SYNC_PROPERTY, Boolean.TRUE);
27          MuleClient client = new MuleClient();
28          UMOMessage umoResp = client.send("jms://echo2", muleMsg);
29          assertEquals(2, ((Payload) umoResp.getPayload()).getNum());
30          client.dispose();
31      }
32  
33      protected String getConfigResources()
34      {
35          return "issue-2629.xml";
36      }
37  
38      public static class JMSTest implements Callable
39      {
40          public Object onCall(UMOEventContext eventContext) throws Exception
41          {
42              Object o=eventContext.getTransformedMessage();
43              assertNotNull(o);
44              assertEquals(o.getClass(), Payload.class);
45              return o;
46  
47          }
48      }
49  
50      public static class Payload implements java.io.Serializable
51      {
52          int num = 0;
53  
54          public Payload(int i)
55          {
56              this.num = i;
57          }
58  
59          public int getNum()
60          {
61              return num;
62          }
63      }
64  
65  
66  }