1
2
3
4
5
6
7 package org.mule.transport.jms.integration.transactions.local;
8
9 import org.mule.transport.jms.integration.AbstractJmsSingleTransactionSingleServiceTestCase;
10
11 import org.junit.Test;
12
13
14
15
16 public class JmsSingleTransactionSingleServiceAlwaysJoinConfigurationTestCase extends
17 AbstractJmsSingleTransactionSingleServiceTestCase
18 {
19
20 @Override
21 protected String getConfigResources()
22 {
23 return "integration/transactions/local/jms-single-tx-single-service-always-join.xml";
24 }
25
26 @Test
27 public void testNone() throws Exception
28 {
29 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
30 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
31 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
32 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
33 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
34 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
35
36 runTransactionFail("testNone");
37 }
38
39 @Test
40 public void testAlwaysBegin() throws Exception
41 {
42 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
43 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
44 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
45 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
46 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
47 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
48
49 runTransactionFail("testAlwaysBegin");
50 }
51
52 @Test
53 public void testBeginOrJoin() throws Exception
54 {
55 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
56 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
57 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
58 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
59 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
60 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
61
62 runTransactionFail("testBeginOrJoin");
63 }
64
65 @Test
66 public void testAlwaysJoin() throws Exception
67 {
68 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
69 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
70 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
71 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
72 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
73 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
74
75 runTransactionFail("testAlwaysJoin");
76 }
77
78 @Test
79 public void testJoinIfPossible() throws Exception
80 {
81 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
82 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
83 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
84 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
85 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
86 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
87
88 runTransactionFail("testJoinIfPossible");
89 }
90 }