View Javadoc

1   /*
2    * $Id: PersistentVMQueueTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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  
11  package org.mule.transport.vm;
12  
13  import org.mule.api.MuleMessage;
14  import org.mule.module.client.MuleClient;
15  import org.mule.tck.FunctionalTestCase;
16  
17  public class PersistentVMQueueTestCase extends FunctionalTestCase
18  {
19      private static final int RECEIVE_TIMEOUT = 5000;
20  
21      protected String getConfigResources()
22      {
23          return "vm/persistent-vmqueue-test.xml";
24      }
25  
26      public void testAsynchronousDispatching() throws Exception
27      {
28          String input = "Test message";
29          String[] output = {"Test", "message"};
30          MuleClient client = new MuleClient(muleContext);
31          client.dispatch("vm://receiver", input, null);
32          MuleMessage result = client.request("vm://out", RECEIVE_TIMEOUT);
33          assertNotNull(result);
34          assertNotNull(result.getPayload());
35          assertNull(result.getExceptionPayload());
36          String[] payload = (String[]) result.getPayload();
37          assertEquals(output.length, payload.length);
38          for (int i = 0; i < output.length; i++)
39          {
40              assertEquals(output[i], payload[i]);
41          }
42      }
43  
44  }