1
2
3
4
5
6
7
8
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
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 }