View Javadoc

1   /*
2    * $Id: MuleTestNamespaceTestCase.java 19251 2010-08-30 17:53:17Z pablo.kraan $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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 }