Coverage Report - org.mule.tck.AbstractConfigBuilderTestCase
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractConfigBuilderTestCase
0%
0/172
0%
0/4
1
 
 1  
 /*
 2  
  * $Id: AbstractConfigBuilderTestCase.java 7976 2007-08-21 14:26:13Z dirk.olmes $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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  
 
 11  
 package org.mule.tck;
 12  
 
 13  
 import org.mule.MuleException;
 14  
 import org.mule.MuleManager;
 15  
 import org.mule.config.PoolingProfile;
 16  
 import org.mule.config.QueueProfile;
 17  
 import org.mule.config.ThreadingProfile;
 18  
 import org.mule.config.pool.CommonsPoolFactory;
 19  
 import org.mule.impl.DefaultExceptionStrategy;
 20  
 import org.mule.impl.MuleDescriptor;
 21  
 import org.mule.impl.endpoint.MuleEndpoint;
 22  
 import org.mule.interceptors.LoggingInterceptor;
 23  
 import org.mule.interceptors.TimerInterceptor;
 24  
 import org.mule.providers.AbstractConnector;
 25  
 import org.mule.providers.SimpleRetryConnectionStrategy;
 26  
 import org.mule.providers.service.TransportFactory;
 27  
 import org.mule.routing.filters.PayloadTypeFilter;
 28  
 import org.mule.routing.filters.RegExFilter;
 29  
 import org.mule.routing.filters.logic.AndFilter;
 30  
 import org.mule.routing.filters.xml.JXPathFilter;
 31  
 import org.mule.routing.inbound.IdempotentReceiver;
 32  
 import org.mule.routing.inbound.SelectiveConsumer;
 33  
 import org.mule.routing.outbound.FilteringOutboundRouter;
 34  
 import org.mule.tck.testmodels.mule.TestCatchAllStrategy;
 35  
 import org.mule.tck.testmodels.mule.TestCompressionTransformer;
 36  
 import org.mule.tck.testmodels.mule.TestConnector;
 37  
 import org.mule.tck.testmodels.mule.TestExceptionStrategy;
 38  
 import org.mule.tck.testmodels.mule.TestTransactionFactory;
 39  
 import org.mule.umo.UMODescriptor;
 40  
 import org.mule.umo.UMOFilter;
 41  
 import org.mule.umo.UMOInterceptorStack;
 42  
 import org.mule.umo.UMOTransactionConfig;
 43  
 import org.mule.umo.endpoint.UMOEndpoint;
 44  
 import org.mule.umo.model.UMOModel;
 45  
 import org.mule.umo.routing.UMOInboundRouter;
 46  
 import org.mule.umo.routing.UMOInboundRouterCollection;
 47  
 import org.mule.umo.routing.UMOOutboundRouter;
 48  
 import org.mule.umo.routing.UMOOutboundRouterCollection;
 49  
 import org.mule.umo.transformer.UMOTransformer;
 50  
 import org.mule.util.ObjectPool;
 51  
 
 52  
 import java.util.Map;
 53  
 
 54  0
 public abstract class AbstractConfigBuilderTestCase extends AbstractScriptConfigBuilderTestCase
 55  
 {
 56  
 
 57  
     // @Override
 58  
     public void testManagerConfig() throws Exception
 59  
     {
 60  0
         assertNotNull(MuleManager.getInstance().getTransactionManager());
 61  0
     }
 62  
 
 63  
     // @Override
 64  
     public void testConnectorConfig() throws Exception
 65  
     {
 66  0
         TestConnector c = (TestConnector)MuleManager.getInstance().lookupConnector("dummyConnector");
 67  0
         assertNotNull(c);
 68  0
         assertNotNull(c.getExceptionListener());
 69  0
         assertTrue(c.getExceptionListener() instanceof TestExceptionStrategy);
 70  0
         assertNotNull(c.getConnectionStrategy());
 71  0
         assertTrue(c.getConnectionStrategy() instanceof SimpleRetryConnectionStrategy);
 72  0
         assertEquals(4, ((SimpleRetryConnectionStrategy)c.getConnectionStrategy()).getRetryCount());
 73  0
         assertEquals(3000, ((SimpleRetryConnectionStrategy)c.getConnectionStrategy()).getFrequency());
 74  0
     }
 75  
 
 76  
     // @Override
 77  
     public void testGlobalEndpointConfig()
 78  
     {
 79  0
         UMOEndpoint endpoint = MuleManager.getInstance().lookupEndpoint("fruitBowlEndpoint");
 80  0
         assertNotNull(endpoint);
 81  0
         assertEquals(endpoint.getEndpointURI().getAddress(), "fruitBowlPublishQ");
 82  0
         assertNotNull(endpoint.getFilter());
 83  0
         JXPathFilter filter = (JXPathFilter)endpoint.getFilter();
 84  0
         assertEquals("name", filter.getExpression());
 85  0
         assertEquals("bar", filter.getExpectedValue());
 86  0
         assertEquals("http://foo.com", filter.getNamespaces().get("foo"));
 87  0
     }
 88  
 
 89  
     // @Override
 90  
     public void testEndpointConfig()
 91  
     {
 92  0
         String endpointString = MuleManager.getInstance().lookupEndpointIdentifier("Test Queue", null);
 93  0
         assertEquals(endpointString, "test://test.queue");
 94  
         // test that endpoints have been resolved on endpoints
 95  0
         UMOEndpoint endpoint = MuleManager.getInstance().lookupEndpoint("waterMelonEndpoint");
 96  0
         assertNotNull(endpoint);
 97  0
         assertEquals("test.queue", endpoint.getEndpointURI().getAddress());
 98  
 
 99  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent2");
 100  0
         assertNotNull(descriptor);
 101  0
     }
 102  
 
 103  
     // @Override
 104  
     public void testInterceptorStacks()
 105  
     {
 106  0
         UMOInterceptorStack stack = MuleManager.getInstance().lookupInterceptorStack("default");
 107  0
         assertNotNull(stack);
 108  0
         assertEquals(2, stack.getInterceptors().size());
 109  0
         assertTrue(stack.getInterceptors().get(0) instanceof LoggingInterceptor);
 110  0
         assertTrue(stack.getInterceptors().get(1) instanceof TimerInterceptor);
 111  0
     }
 112  
 
 113  
     public void testExceptionStrategy2()
 114  
     {
 115  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent");
 116  0
         assertNotNull(descriptor.getExceptionListener());
 117  0
         assertEquals(DefaultExceptionStrategy.class, descriptor.getExceptionListener().getClass());
 118  0
     }
 119  
 
 120  
     // @Override
 121  
     public void testTransformerConfig()
 122  
     {
 123  0
         UMOTransformer t = MuleManager.getInstance().lookupTransformer("TestCompressionTransformer");
 124  0
         assertNotNull(t);
 125  0
         assertTrue(t instanceof TestCompressionTransformer);
 126  0
         assertEquals(t.getReturnClass(), java.lang.String.class);
 127  0
         assertNotNull(((TestCompressionTransformer)t).getContainerProperty());
 128  0
     }
 129  
 
 130  
     // @Override
 131  
     public void testModelConfig() throws Exception
 132  
     {
 133  0
         UMOModel model = MuleManager.getInstance().lookupModel("main");
 134  0
         super.testModelConfig();
 135  0
         assertTrue(model.isComponentRegistered("appleComponent"));
 136  0
         assertTrue(model.isComponentRegistered("appleComponent2"));
 137  0
     }
 138  
 
 139  
     public void testOutboundRouterConfig2()
 140  
     {
 141  
         // test outbound message router
 142  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent");
 143  0
         assertNotNull(descriptor.getOutboundRouter());
 144  0
         UMOOutboundRouterCollection router = descriptor.getOutboundRouter();
 145  0
         assertNotNull(router.getCatchAllStrategy());
 146  0
         assertEquals(2, router.getRouters().size());
 147  
         // check first Router
 148  0
         UMOOutboundRouter route1 = (UMOOutboundRouter)router.getRouters().get(0);
 149  0
         assertTrue(route1 instanceof FilteringOutboundRouter);
 150  
         // todo don't currently support "transformer" property
 151  
         // assertNotNull(((FilteringOutboundRouter) route1).getTransformer());
 152  
 
 153  0
         UMOFilter filter = ((FilteringOutboundRouter)route1).getFilter();
 154  0
         assertNotNull(filter);
 155  0
         assertTrue(filter instanceof PayloadTypeFilter);
 156  0
         assertEquals(String.class, ((PayloadTypeFilter)filter).getExpectedType());
 157  
 
 158  
         // check second Router
 159  0
         UMOOutboundRouter route2 = (UMOOutboundRouter)router.getRouters().get(1);
 160  0
         assertTrue(route2 instanceof FilteringOutboundRouter);
 161  
 
 162  0
         UMOFilter filter2 = ((FilteringOutboundRouter)route2).getFilter();
 163  0
         assertNotNull(filter2);
 164  0
         assertTrue(filter2 instanceof AndFilter);
 165  0
         UMOFilter left = ((AndFilter)filter2).getLeftFilter();
 166  0
         UMOFilter right = ((AndFilter)filter2).getRightFilter();
 167  0
         assertNotNull(left);
 168  0
         assertTrue(left instanceof RegExFilter);
 169  0
         assertEquals("the quick brown (.*)", ((RegExFilter)left).getPattern());
 170  0
         assertNotNull(right);
 171  0
         assertTrue(right instanceof RegExFilter);
 172  0
         assertEquals("(.*) brown (.*)", ((RegExFilter)right).getPattern());
 173  
 
 174  0
         assertTrue(router.getCatchAllStrategy() instanceof TestCatchAllStrategy);
 175  0
     }
 176  
 
 177  
 
 178  
     public void testInboundRouterConfig2()
 179  
     {
 180  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent");
 181  0
         assertNotNull(descriptor.getInboundRouter());
 182  0
         UMOInboundRouterCollection messageRouter = descriptor.getInboundRouter();
 183  0
         assertNotNull(messageRouter.getCatchAllStrategy());
 184  0
         assertEquals(2, messageRouter.getRouters().size());
 185  0
         UMOInboundRouter router = (UMOInboundRouter)messageRouter.getRouters().get(0);
 186  0
         assertTrue(router instanceof SelectiveConsumer);
 187  0
         SelectiveConsumer sc = (SelectiveConsumer)router;
 188  
 
 189  0
         assertNotNull(sc.getFilter());
 190  0
         UMOFilter filter = sc.getFilter();
 191  
         // check first Router
 192  0
         assertTrue(filter instanceof PayloadTypeFilter);
 193  0
         assertEquals(String.class, ((PayloadTypeFilter)filter).getExpectedType());
 194  
 
 195  0
         UMOInboundRouter router2 = (UMOInboundRouter)messageRouter.getRouters().get(1);
 196  0
         assertTrue(router2 instanceof IdempotentReceiver);
 197  0
     }
 198  
 
 199  
     public void testThreadingConfig() throws MuleException
 200  
     {
 201  
         // test config
 202  0
         ThreadingProfile tp = MuleManager.getConfiguration().getDefaultThreadingProfile();
 203  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_BUFFER_SIZE, tp.getMaxBufferSize());
 204  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREADS_ACTIVE, tp.getMaxThreadsActive());
 205  0
         assertEquals(4, tp.getMaxThreadsIdle());
 206  0
         assertEquals(ThreadingProfile.WHEN_EXHAUSTED_WAIT, tp.getPoolExhaustedAction());
 207  0
         assertEquals(60001, tp.getThreadTTL());
 208  
 
 209  
         // test defaults
 210  0
         tp = MuleManager.getConfiguration().getComponentThreadingProfile();
 211  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_BUFFER_SIZE, tp.getMaxBufferSize());
 212  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREADS_ACTIVE, tp.getMaxThreadsActive());
 213  0
         assertEquals(4, tp.getMaxThreadsIdle());
 214  0
         assertEquals(ThreadingProfile.WHEN_EXHAUSTED_WAIT, tp.getPoolExhaustedAction());
 215  0
         assertEquals(60001, tp.getThreadTTL());
 216  
 
 217  
         // test that values not set retain a default value
 218  0
         AbstractConnector c = (AbstractConnector)MuleManager.getInstance().lookupConnector("dummyConnector");
 219  0
         tp = c.getDispatcherThreadingProfile();
 220  0
         assertEquals(2, tp.getMaxBufferSize());
 221  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREADS_ACTIVE, tp.getMaxThreadsActive());
 222  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREADS_IDLE, tp.getMaxThreadsIdle());
 223  0
         assertEquals(ThreadingProfile.DEFAULT_POOL_EXHAUST_ACTION, tp.getPoolExhaustedAction());
 224  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREAD_TTL, tp.getThreadTTL());
 225  
 
 226  0
         MuleDescriptor descriptor = (MuleDescriptor)MuleManager.getInstance().lookupModel("main").getDescriptor(
 227  
             "appleComponent2");
 228  0
         tp = descriptor.getThreadingProfile();
 229  0
         assertEquals(6, tp.getMaxBufferSize());
 230  0
         assertEquals(12, tp.getMaxThreadsActive());
 231  0
         assertEquals(6, tp.getMaxThreadsIdle());
 232  0
         assertEquals(ThreadingProfile.DEFAULT_POOL_EXHAUST_ACTION, tp.getPoolExhaustedAction());
 233  0
         assertEquals(ThreadingProfile.DEFAULT_MAX_THREAD_TTL, tp.getThreadTTL());
 234  0
     }
 235  
 
 236  
     public void testPoolingConfig()
 237  
     {
 238  
         // test config
 239  0
         PoolingProfile pp = MuleManager.getConfiguration().getPoolingProfile();
 240  0
         assertEquals(8, pp.getMaxActive());
 241  0
         assertEquals(4, pp.getMaxIdle());
 242  0
         assertEquals(4000, pp.getMaxWait());
 243  0
         assertEquals(ObjectPool.WHEN_EXHAUSTED_GROW, pp.getExhaustedAction());
 244  0
         assertEquals(1, pp.getInitialisationPolicy());
 245  0
         assertTrue(pp.getPoolFactory() instanceof CommonsPoolFactory);
 246  
 
 247  
         // test override
 248  0
         MuleDescriptor descriptor = (MuleDescriptor)MuleManager.getInstance().lookupModel("main").getDescriptor(
 249  
             "appleComponent2");
 250  0
         pp = descriptor.getPoolingProfile();
 251  
 
 252  0
         assertEquals(5, pp.getMaxActive());
 253  0
         assertEquals(5, pp.getMaxIdle());
 254  0
         assertEquals(4000, pp.getMaxWait());
 255  0
         assertEquals(ObjectPool.WHEN_EXHAUSTED_GROW, pp.getExhaustedAction());
 256  0
         assertEquals(2, pp.getInitialisationPolicy());
 257  0
     }
 258  
 
 259  
     public void testQueueProfileConfig()
 260  
     {
 261  
         // test config
 262  0
         QueueProfile qp = MuleManager.getConfiguration().getQueueProfile();
 263  0
         assertEquals(100, qp.getMaxOutstandingMessages());
 264  0
         assertTrue(qp.isPersistent());
 265  
 
 266  
         // test inherit
 267  0
         MuleDescriptor descriptor = (MuleDescriptor)MuleManager.getInstance().lookupModel("main").getDescriptor(
 268  
             "orangeComponent");
 269  0
         qp = descriptor.getQueueProfile();
 270  0
         assertEquals(100, qp.getMaxOutstandingMessages());
 271  0
         assertTrue(qp.isPersistent());
 272  
 
 273  
         // test override
 274  0
         descriptor = (MuleDescriptor)MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent2");
 275  0
         qp = descriptor.getQueueProfile();
 276  0
         assertEquals(102, qp.getMaxOutstandingMessages());
 277  0
         assertFalse(qp.isPersistent());
 278  0
     }
 279  
 
 280  
     public void testEndpointProperties() throws Exception
 281  
     {
 282  
         // test transaction config
 283  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent2");
 284  0
         MuleEndpoint inEndpoint = (MuleEndpoint)descriptor.getInboundRouter().getEndpoint(
 285  
             "transactedInboundEndpoint");
 286  0
         assertNotNull(inEndpoint);
 287  0
         assertEquals(TransportFactory.NEVER_CREATE_CONNECTOR, inEndpoint.getCreateConnector());
 288  0
         assertNotNull(inEndpoint.getProperties());
 289  0
         assertEquals("Prop1", inEndpoint.getProperties().get("testEndpointProperty"));
 290  0
     }
 291  
 
 292  
     public void testTransactionConfig() throws Exception
 293  
     {
 294  
         // test transaction config
 295  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("appleComponent2");
 296  0
         UMOEndpoint inEndpoint = descriptor.getInboundRouter().getEndpoint("transactedInboundEndpoint");
 297  0
         assertNotNull(inEndpoint);
 298  0
         assertNull(descriptor.getOutboundEndpoint());
 299  0
         assertEquals(1, descriptor.getOutboundRouter().getRouters().size());
 300  
 
 301  0
         UMOEndpoint outEndpoint = (UMOEndpoint)((UMOOutboundRouter)descriptor.getOutboundRouter()
 302  
             .getRouters()
 303  
             .get(0)).getEndpoints().get(0);
 304  
 
 305  0
         assertNotNull(outEndpoint);
 306  0
         assertNotNull(inEndpoint.getTransactionConfig());
 307  0
         assertEquals(UMOTransactionConfig.ACTION_ALWAYS_BEGIN, inEndpoint.getTransactionConfig().getAction());
 308  0
         assertTrue(inEndpoint.getTransactionConfig().getFactory() instanceof TestTransactionFactory);
 309  0
         assertNull(inEndpoint.getTransactionConfig().getConstraint());
 310  0
     }
 311  
 
 312  
     public void testEnvironmentProperties()
 313  
     {
 314  0
         Map props = MuleManager.getInstance().getProperties();
 315  0
         assertNotNull(props);
 316  0
         assertNotNull(props.get("doCompression"));
 317  0
         assertEquals("true", props.get("doCompression"));
 318  0
         assertNotNull(props.get("beanProperty1"));
 319  0
         assertEquals("this was set from the manager properties!", props.get("beanProperty1"));
 320  0
         assertNotNull(props.get("OS Version"));
 321  0
     }
 322  
 }