1   /*
2    * $Id: OutboundTransactionsTestCase.java 10789 2008-02-12 20:04:43Z dfeist $
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  
11  package org.mule.test.integration.transaction;
12  
13  import org.mule.module.client.MuleClient;
14  import org.mule.tck.FunctionalTestCase;
15  
16  public class OutboundTransactionsTestCase extends FunctionalTestCase
17  {
18      private static final int TIMEOUT = 2000;
19  
20      protected String getConfigResources()
21      {
22          return "org/mule/test/integration/transaction/outbound-transactions.xml";
23      }
24  
25      public void testOutboundRouterTransactions() throws Exception
26      {
27          MuleClient client = new MuleClient();
28  
29          while (client.request("jms://my.queue1", TIMEOUT) != null)
30          {
31              // consume messages
32          }
33  
34          while (client.request("jms://my.queue2", TIMEOUT) != null)
35          {
36              // consume messages
37          }
38  
39          client.sendNoReceive("vm://component1", "test", null);
40  
41          assertNotNull(client.request("jms://my.queue1", TIMEOUT));
42          assertNotNull(client.request("jms://my.queue2", TIMEOUT));
43          assertNull(client.request("jms://my.queue1", TIMEOUT));
44          assertNull(client.request("jms://my.queue2", TIMEOUT));
45      }
46  
47      public void testOutboundRouterTransactions2() throws Exception
48      {
49          MuleClient client = new MuleClient();
50  
51          while (client.request("jms://my.queue3", TIMEOUT) != null)
52          {
53              // consume messages
54          }
55  
56          while (client.request("jms://my.queue4", TIMEOUT) != null)
57          {
58              // consume messages
59          }
60  
61          client.sendNoReceive("jms://component2", "test", null);
62  
63          assertNotNull(client.request("jms://my.queue3", TIMEOUT));
64          assertNotNull(client.request("jms://my.queue4", TIMEOUT));
65          assertNull(client.request("jms://my.queue3", TIMEOUT));
66          assertNull(client.request("jms://my.queue4", TIMEOUT));
67      }
68  
69  }