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