View Javadoc

1   /*
2    * $Id: JmsSingleTransactionSingleServiceAlwaysJoinConfigurationTestCase.java 22431 2011-07-18 07:40:35Z dirk.olmes $
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.jms.integration.transactions.local;
12  
13  import org.mule.transport.jms.integration.AbstractJmsSingleTransactionSingleServiceTestCase;
14  
15  import org.junit.Test;
16  
17  /**
18   * Test all combinations of (inbound) ALWAYS_JOIN.  They should all fail.
19   */
20  public class JmsSingleTransactionSingleServiceAlwaysJoinConfigurationTestCase extends
21      AbstractJmsSingleTransactionSingleServiceTestCase
22  {
23  
24      @Override
25      protected String getConfigResources()
26      {
27          return "integration/transactions/local/jms-single-tx-single-service-always-join.xml";
28      }
29  
30      @Test
31      public void testNone() throws Exception
32      {
33          scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
34          scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
35          scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
36          scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
37          scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
38          scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
39  
40          runTransactionFail("testNone");
41      }
42  
43      @Test
44      public void testAlwaysBegin() throws Exception
45      {
46          scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
47          scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
48          scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
49          scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
50          scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
51          scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
52  
53          runTransactionFail("testAlwaysBegin");
54      }
55  
56      @Test
57      public void testBeginOrJoin() throws Exception
58      {
59          scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
60          scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
61          scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
62          scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
63          scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
64          scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
65  
66          runTransactionFail("testBeginOrJoin");
67      }
68  
69      @Test
70      public void testAlwaysJoin() throws Exception
71      {
72          scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
73          scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
74          scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
75          scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
76          scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
77          scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
78  
79          runTransactionFail("testAlwaysJoin");
80      }
81  
82      @Test
83      public void testJoinIfPossible() throws Exception
84      {
85          scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
86          scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
87          scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
88          scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
89          scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
90          scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
91  
92          runTransactionFail("testJoinIfPossible");
93      }
94  }