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