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 protected String getConfigResources()
24 {
25 return "integration/transactions/local/jms-single-tx-single-service-always-join.xml";
26 }
27 @Test
28 public void testNone() throws Exception
29 {
30 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
31 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
32 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_A);
33 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
34 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
35 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_A);
36
37 runTransactionFail("testNone");
38 }
39
40 @Test
41 public void testAlwaysBegin() throws Exception
42 {
43 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
44 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
45 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_B);
46 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
47 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
48 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_B);
49
50 runTransactionFail("testAlwaysBegin");
51 }
52
53 @Test
54 public void testBeginOrJoin() throws Exception
55 {
56 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
57 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
58 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_C);
59 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
60 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
61 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_C);
62
63 runTransactionFail("testBeginOrJoin");
64 }
65
66 @Test
67 public void testAlwaysJoin() throws Exception
68 {
69 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
70 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
71 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_D);
72 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
73 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
74 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_D);
75
76 runTransactionFail("testAlwaysJoin");
77 }
78
79 @Test
80 public void testJoinIfPossible() throws Exception
81 {
82 scenarioCommit.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
83 scenarioRollback.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
84 scenarioNotReceive.setInputDestinationName(JMS_QUEUE_INPUT_CONF_E);
85 scenarioCommit.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
86 scenarioRollback.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
87 scenarioNotReceive.setOutputDestinationName(JMS_QUEUE_OUTPUT_CONF_E);
88
89 runTransactionFail("testJoinIfPossible");
90 }
91 }