1
2
3
4
5
6
7 package org.mule.config.spring.parsers;
8
9 import org.mule.tck.junit4.FunctionalTestCase;
10 import org.mule.tck.testmodels.mule.TestTransactionManagerFactory;
11
12 import java.lang.reflect.Proxy;
13 import java.util.Map;
14
15 import javax.transaction.TransactionManager;
16
17 import org.junit.Test;
18
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertTrue;
21
22 public class CustomTransactionManagerTestCase extends FunctionalTestCase
23 {
24
25 @Override
26 public String getConfigResources()
27 {
28 return "test-custom-transaction-manager.xml";
29 }
30
31 @Test
32 public void testCustomTransactionManager() throws Exception
33 {
34 TransactionManager transactionManager = muleContext.getTransactionManager();
35 assertTrue(transactionManager instanceof Proxy);
36 Proxy proxy = (Proxy) transactionManager;
37 TestTransactionManagerFactory.InternalInvocationHandler ihandler =
38 (TestTransactionManagerFactory.InternalInvocationHandler) Proxy.getInvocationHandler(proxy);
39 assertTrue(ihandler.getParent() instanceof TestTransactionManagerFactory);
40 TestTransactionManagerFactory factory = ihandler.getParent();
41 Map properties = factory.getEnvironment();
42 assertEquals(properties.size(), 2);
43 assertEquals(properties.get("property1"), "true");
44 assertEquals(properties.get("property2"), "Test");
45 }
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 }