1
2
3
4
5
6
7 package org.mule.test.tck;
8
9 import org.mule.api.transport.Connector;
10 import org.mule.tck.functional.CounterCallback;
11 import org.mule.tck.functional.FunctionalTestComponent;
12 import org.mule.tck.functional.ResponseWriterCallback;
13 import org.mule.tck.junit4.FunctionalTestCase;
14 import org.mule.tck.testmodels.mule.TestConnector;
15 import org.mule.transport.ConfigurableKeyedObjectPool;
16 import org.mule.transport.ConfigurableKeyedObjectPoolFactory;
17 import org.mule.transport.DefaultConfigurableKeyedObjectPool;
18 import org.mule.transport.DefaultConfigurableKeyedObjectPoolFactory;
19
20 import java.io.IOException;
21
22 import org.junit.Test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertFalse;
26 import static org.junit.Assert.assertNotNull;
27 import static org.junit.Assert.assertNull;
28 import static org.junit.Assert.assertTrue;
29
30 public class MuleTestNamespaceTestCase extends FunctionalTestCase
31 {
32
33 public static class StubConfigurableKeyedObjectPool extends DefaultConfigurableKeyedObjectPool
34 {
35
36 }
37
38 public static class StubDispatcherPoolFactory implements ConfigurableKeyedObjectPoolFactory
39 {
40
41 public ConfigurableKeyedObjectPool createObjectPool()
42 {
43 return new StubConfigurableKeyedObjectPool();
44 }
45 }
46
47 @Override
48 protected String getConfigResources()
49 {
50 return "test-namespace-config.xml";
51 }
52
53 @Test
54 public void testComponent1Config() throws Exception
55 {
56 Object object = getComponent("testService1");
57 assertNotNull(object);
58 assertTrue(object instanceof FunctionalTestComponent);
59 FunctionalTestComponent ftc = (FunctionalTestComponent) object;
60
61 assertFalse(ftc.isEnableMessageHistory());
62 assertFalse(ftc.isEnableNotifications());
63 assertNull(ftc.getAppendString());
64 assertEquals("Foo Bar Car Jar", ftc.getReturnData());
65 assertNotNull(ftc.getEventCallback());
66 assertTrue(ftc.getEventCallback() instanceof CounterCallback);
67 }
68
69 @Test
70 public void testComponent2Config() throws Exception
71 {
72 String testData = loadResourceAsString("test-data.txt");
73 Object object = getComponent("testService2");
74 assertNotNull(object);
75 assertTrue(object instanceof FunctionalTestComponent);
76 FunctionalTestComponent ftc = (FunctionalTestComponent) object;
77
78 assertTrue(ftc.isThrowException());
79 assertNotNull(ftc.getExceptionToThrow());
80 assertTrue(ftc.getExceptionToThrow().isAssignableFrom(IOException.class));
81
82 assertEquals(testData, ftc.getReturnData());
83
84 assertTrue(ftc.isEnableMessageHistory());
85 assertTrue(ftc.isEnableNotifications());
86 assertNull(ftc.getAppendString());
87 assertNotNull(ftc.getEventCallback());
88 assertTrue(ftc.getEventCallback() instanceof ResponseWriterCallback);
89 }
90
91 @Test
92 public void testComponent3Config() throws Exception
93 {
94 Object object = getComponent("testService3");
95 assertNotNull(object);
96 assertTrue(object instanceof FunctionalTestComponent);
97 FunctionalTestComponent ftc = (FunctionalTestComponent) object;
98
99 assertFalse(ftc.isEnableMessageHistory());
100 assertTrue(ftc.isEnableNotifications());
101 assertEquals(" #[mule:context.serviceName]", ftc.getAppendString());
102 assertNull(ftc.getReturnData());
103 assertNull(ftc.getEventCallback());
104 }
105
106 @Test
107 public void testConnectorUsingDefaultDispatcherPoolFactory()
108 {
109 Connector connector = muleContext.getRegistry().lookupConnector("testConnectorWithDefaultFactory");
110
111 assertTrue(connector instanceof TestConnector);
112 TestConnector testConnector = (TestConnector) connector;
113 assertEquals(DefaultConfigurableKeyedObjectPoolFactory.class, testConnector.getDispatcherPoolFactory().getClass());
114 assertEquals(DefaultConfigurableKeyedObjectPool.class, testConnector.getDispatchers().getClass());
115 }
116
117 @Test
118 public void testConnectorUsingOverriddenDispatcherPoolFactory()
119 {
120 Connector connector = muleContext.getRegistry().lookupConnector("testConnectorWithOverriddenFactory");
121
122 assertTrue(connector instanceof TestConnector);
123 TestConnector testConnector = (TestConnector) connector;
124 assertEquals(StubDispatcherPoolFactory.class, testConnector.getDispatcherPoolFactory().getClass());
125 assertEquals(StubConfigurableKeyedObjectPool.class, testConnector.getDispatchers().getClass());
126 }
127 }