Coverage Report - org.mule.tck.AbstractScriptConfigBuilderTestCase
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractScriptConfigBuilderTestCase
0%
0/176
0%
0/6
1
 
 1  
 /*
 2  
  * $Id: AbstractScriptConfigBuilderTestCase.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.MuleManager;
 14  
 import org.mule.impl.AbstractExceptionListener;
 15  
 import org.mule.impl.MuleDescriptor;
 16  
 import org.mule.impl.container.DescriptorContainerKeyPair;
 17  
 import org.mule.interceptors.LoggingInterceptor;
 18  
 import org.mule.interceptors.TimerInterceptor;
 19  
 import org.mule.providers.SimpleRetryConnectionStrategy;
 20  
 import org.mule.routing.ForwardingCatchAllStrategy;
 21  
 import org.mule.routing.filters.xml.JXPathFilter;
 22  
 import org.mule.routing.outbound.OutboundPassThroughRouter;
 23  
 import org.mule.tck.testmodels.fruit.FruitCleaner;
 24  
 import org.mule.tck.testmodels.fruit.Orange;
 25  
 import org.mule.tck.testmodels.mule.TestCompressionTransformer;
 26  
 import org.mule.tck.testmodels.mule.TestConnector;
 27  
 import org.mule.tck.testmodels.mule.TestDefaultLifecycleAdapterFactory;
 28  
 import org.mule.tck.testmodels.mule.TestEntryPointResolver;
 29  
 import org.mule.tck.testmodels.mule.TestExceptionStrategy;
 30  
 import org.mule.tck.testmodels.mule.TestResponseAggregator;
 31  
 import org.mule.umo.UMODescriptor;
 32  
 import org.mule.umo.UMOException;
 33  
 import org.mule.umo.UMOInterceptorStack;
 34  
 import org.mule.umo.endpoint.UMOEndpoint;
 35  
 import org.mule.umo.manager.UMOAgent;
 36  
 import org.mule.umo.model.UMOModel;
 37  
 import org.mule.umo.routing.UMOInboundRouterCollection;
 38  
 import org.mule.umo.routing.UMONestedRouter;
 39  
 import org.mule.umo.routing.UMONestedRouterCollection;
 40  
 import org.mule.umo.routing.UMOOutboundRouter;
 41  
 import org.mule.umo.routing.UMOOutboundRouterCollection;
 42  
 import org.mule.umo.routing.UMOResponseRouter;
 43  
 import org.mule.umo.routing.UMOResponseRouterCollection;
 44  
 import org.mule.umo.transformer.UMOTransformer;
 45  
 
 46  
 import java.util.List;
 47  
 import java.util.Map;
 48  
 
 49  
 public abstract class AbstractScriptConfigBuilderTestCase extends FunctionalTestCase
 50  
 {
 51  
 
 52  
     protected AbstractScriptConfigBuilderTestCase()
 53  0
     {
 54  0
         setDisposeManagerPerSuite(true);
 55  0
     }
 56  
 
 57  
     public void testManagerConfig() throws Exception
 58  
     {
 59  0
         assertEquals("true", MuleManager.getInstance().getProperty("doCompression"));
 60  0
         assertNotNull(MuleManager.getInstance().getTransactionManager());
 61  0
     }
 62  
 
 63  
     public void testConnectorConfig() throws Exception
 64  
     {
 65  0
         TestConnector c = (TestConnector)MuleManager.getInstance().lookupConnector("dummyConnector");
 66  0
         assertNotNull(c);
 67  0
         assertNotNull(c.getExceptionListener());
 68  0
         assertTrue(c.getExceptionListener() instanceof TestExceptionStrategy);
 69  0
         assertNotNull(c.getConnectionStrategy());
 70  0
         assertTrue(c.getConnectionStrategy() instanceof SimpleRetryConnectionStrategy);
 71  0
         assertEquals(4, ((SimpleRetryConnectionStrategy)c.getConnectionStrategy()).getRetryCount());
 72  0
         assertEquals(3000, ((SimpleRetryConnectionStrategy)c.getConnectionStrategy()).getFrequency());
 73  0
     }
 74  
 
 75  
     public void testGlobalEndpointConfig()
 76  
     {
 77  0
         UMOEndpoint endpoint = MuleManager.getInstance().lookupEndpoint("fruitBowlEndpoint");
 78  0
         assertNotNull(endpoint);
 79  0
         assertEquals(endpoint.getEndpointURI().getAddress(), "fruitBowlPublishQ");
 80  0
         assertNotNull(endpoint.getFilter());
 81  0
         JXPathFilter filter = (JXPathFilter)endpoint.getFilter();
 82  0
         assertEquals("name", filter.getExpression());
 83  0
         assertEquals("bar", filter.getExpectedValue());
 84  0
         assertEquals("http://foo.com", filter.getNamespaces().get("foo"));
 85  0
     }
 86  
 
 87  
     public void testEndpointConfig()
 88  
     {
 89  0
         String endpointString = MuleManager.getInstance().lookupEndpointIdentifier("Test Queue", null);
 90  0
         assertEquals(endpointString, "test://test.queue");
 91  
         // test that endpoints have been resolved on endpoints
 92  0
         UMOEndpoint endpoint = MuleManager.getInstance().lookupEndpoint("waterMelonEndpoint");
 93  0
         assertNotNull(endpoint);
 94  0
         assertEquals("test.queue", endpoint.getEndpointURI().getAddress());
 95  
 
 96  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 97  0
         UMOEndpoint ep = descriptor.getInboundRouter().getEndpoint("Orange");
 98  0
         assertNotNull(ep);
 99  0
         assertNotNull(ep.getResponseTransformer());
 100  0
         assertTrue(ep.getResponseTransformer() instanceof TestCompressionTransformer);
 101  0
     }
 102  
 
 103  
     public void testInterceptorStacks()
 104  
     {
 105  0
         UMOInterceptorStack stack = MuleManager.getInstance().lookupInterceptorStack("default");
 106  0
         assertNotNull(stack);
 107  0
         assertEquals(2, stack.getInterceptors().size());
 108  0
         assertTrue(stack.getInterceptors().get(0) instanceof LoggingInterceptor);
 109  0
         assertTrue(stack.getInterceptors().get(1) instanceof TimerInterceptor);
 110  0
     }
 111  
 
 112  
     public void testExceptionStrategy()
 113  
     {
 114  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 115  0
         assertNotNull(MuleManager.getInstance().lookupModel("main").getExceptionListener());
 116  0
         assertNotNull(descriptor.getExceptionListener());
 117  
 
 118  0
         assertTrue(((AbstractExceptionListener)descriptor.getExceptionListener()).getEndpoints().size() > 0);
 119  0
         UMOEndpoint ep = (UMOEndpoint)((AbstractExceptionListener)descriptor.getExceptionListener()).getEndpoints()
 120  
             .get(0);
 121  
 
 122  0
         assertEquals("test://orange.exceptions", ep.getEndpointURI().toString());
 123  0
     }
 124  
 
 125  
     public void testTransformerConfig()
 126  
     {
 127  0
         UMOTransformer t = MuleManager.getInstance().lookupTransformer("TestCompressionTransformer");
 128  0
         assertNotNull(t);
 129  0
         assertTrue(t instanceof TestCompressionTransformer);
 130  0
         assertEquals(t.getReturnClass(), String.class);
 131  0
         assertNotNull(((TestCompressionTransformer)t).getContainerProperty());
 132  0
     }
 133  
 
 134  
     public void testModelConfig() throws Exception
 135  
     {
 136  0
         UMOModel model = MuleManager.getInstance().lookupModel("main");
 137  0
         assertNotNull(model);
 138  0
         assertEquals("main", model.getName());
 139  0
         assertTrue(model.getEntryPointResolver() instanceof TestEntryPointResolver);
 140  0
         assertTrue(model.getExceptionListener() instanceof TestExceptionStrategy);
 141  
 
 142  0
         assertTrue(((AbstractExceptionListener)model.getExceptionListener()).getEndpoints().size() > 0);
 143  0
         UMOEndpoint ep = (UMOEndpoint)((AbstractExceptionListener)model.getExceptionListener()).getEndpoints()
 144  
             .get(0);
 145  
 
 146  0
         assertEquals("test://component.exceptions", ep.getEndpointURI().toString());
 147  
 
 148  0
         assertTrue(model.getLifecycleAdapterFactory() instanceof TestDefaultLifecycleAdapterFactory);
 149  
 
 150  0
         assertTrue(model.isComponentRegistered("orangeComponent"));
 151  0
     }
 152  
 
 153  
     public void testPropertiesConfig() throws Exception
 154  
     {
 155  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 156  
 
 157  0
         Map props = descriptor.getProperties();
 158  0
         assertNotNull(props);
 159  0
         assertEquals("9", props.get("segments"));
 160  0
         assertEquals("4.21", props.get("radius"));
 161  0
         assertEquals("Juicy Baby!", props.get("brand"));
 162  
 
 163  0
         assertNotNull(props.get("listProperties"));
 164  0
         List list = (List)props.get("listProperties");
 165  0
         assertEquals(3, list.size());
 166  0
         assertEquals("prop1", list.get(0));
 167  0
         assertEquals("prop2", list.get(1));
 168  0
         assertEquals("prop3", list.get(2));
 169  
 
 170  0
         assertNotNull(props.get("arrayProperties"));
 171  0
         list = (List)props.get("arrayProperties");
 172  0
         assertEquals(3, list.size());
 173  0
         assertEquals("prop4", list.get(0));
 174  0
         assertEquals("prop5", list.get(1));
 175  0
         assertEquals("prop6", list.get(2));
 176  
 
 177  0
         assertNotNull(props.get("mapProperties"));
 178  0
         props = (Map)props.get("mapProperties");
 179  0
         assertEquals("prop1", props.get("prop1"));
 180  0
         assertEquals("prop2", props.get("prop2"));
 181  
 
 182  0
         assertEquals(7, descriptor.getProperties().size());
 183  0
         assertEquals(2, descriptor.getInboundRouter().getEndpoints().size());
 184  
         // assertNotNull(descriptor.getInboundEndpoint());
 185  
         // assertNotNull(descriptor.getOutboundEndpoint());
 186  0
     }
 187  
 
 188  
     public void testOutboundRouterConfig()
 189  
     {
 190  
         // test outbound message router
 191  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 192  0
         assertNotNull(descriptor.getOutboundRouter());
 193  0
         UMOOutboundRouterCollection router = descriptor.getOutboundRouter();
 194  0
         assertNull(router.getCatchAllStrategy());
 195  0
         assertEquals(1, router.getRouters().size());
 196  
         // check first Router
 197  0
         UMOOutboundRouter route1 = (UMOOutboundRouter)router.getRouters().get(0);
 198  0
         assertTrue(route1 instanceof OutboundPassThroughRouter);
 199  0
         assertEquals(1, route1.getEndpoints().size());
 200  0
     }
 201  
 
 202  
     public void testNestedRouterConfig()
 203  
     {
 204  
         // test outbound message router
 205  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 206  0
         assertNotNull(descriptor.getNestedRouter());
 207  0
         UMONestedRouterCollection router = descriptor.getNestedRouter();
 208  0
         assertEquals(2, router.getRouters().size());
 209  
         // check first Router
 210  0
         UMONestedRouter route1 = (UMONestedRouter)router.getRouters().get(0);
 211  0
         assertEquals(FruitCleaner.class, route1.getInterface());
 212  0
         assertEquals("wash", route1.getMethod());
 213  0
         assertNotNull(route1.getEndpoint());
 214  
         // check second Router
 215  0
         UMONestedRouter route2 = (UMONestedRouter)router.getRouters().get(1);
 216  0
         assertEquals(FruitCleaner.class, route2.getInterface());
 217  0
         assertEquals("polish", route2.getMethod());
 218  0
         assertNotNull(route2.getEndpoint());
 219  
 
 220  
         //Test that the proxy object was created and set on the service object
 221  0
         Orange orange = (Orange)descriptor.getProperties().get("orange");
 222  0
         assertNotNull(orange);
 223  0
         assertNotNull(orange.getCleaner());
 224  0
     }
 225  
     public void testDescriptorEndpoints()
 226  
     {
 227  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 228  0
         assertEquals(1, descriptor.getOutboundRouter().getRouters().size());
 229  0
         UMOOutboundRouter router = (UMOOutboundRouter)descriptor.getOutboundRouter().getRouters().get(0);
 230  0
         assertEquals(1, router.getEndpoints().size());
 231  0
         UMOEndpoint endpoint = (UMOEndpoint)router.getEndpoints().get(0);
 232  0
         assertNotNull(endpoint);
 233  0
         assertEquals("appleInEndpoint", endpoint.getName());
 234  0
         assertNotNull(endpoint.getTransformer());
 235  0
         assertTrue(endpoint.getTransformer() instanceof TestCompressionTransformer);
 236  
 
 237  
         // check the global endpoint
 238  0
         endpoint = MuleManager.getInstance().lookupEndpoint("appleInEndpoint");
 239  0
         assertNotNull(endpoint);
 240  0
         assertNull(endpoint.getTransformer());
 241  
 
 242  0
         assertEquals(2, descriptor.getInboundRouter().getEndpoints().size());
 243  0
         assertNotNull(descriptor.getInboundRouter().getCatchAllStrategy());
 244  0
         assertTrue(descriptor.getInboundRouter().getCatchAllStrategy() instanceof ForwardingCatchAllStrategy);
 245  0
         assertNotNull(descriptor.getInboundRouter().getCatchAllStrategy().getEndpoint());
 246  0
         assertEquals("test://catch.all", descriptor.getInboundRouter()
 247  
             .getCatchAllStrategy()
 248  
             .getEndpoint()
 249  
             .getEndpointURI()
 250  
             .toString());
 251  0
         endpoint = descriptor.getInboundRouter().getEndpoint("orangeEndpoint");
 252  0
         assertNotNull(endpoint);
 253  0
         assertEquals("orangeEndpoint", endpoint.getName());
 254  0
         assertEquals("orangeQ", endpoint.getEndpointURI().getAddress());
 255  0
         assertNotNull(endpoint.getTransformer());
 256  0
         assertTrue(endpoint.getTransformer() instanceof TestCompressionTransformer);
 257  
 
 258  
         // check the global endpoint
 259  0
         endpoint = MuleManager.getInstance().lookupEndpoint("orangeEndpoint");
 260  0
         assertNotNull(endpoint);
 261  0
         assertNull(endpoint.getTransformer());
 262  0
     }
 263  
 
 264  
     public void testInboundRouterConfig()
 265  
     {
 266  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 267  0
         assertNotNull(descriptor.getInboundRouter());
 268  0
         UMOInboundRouterCollection messageRouter = descriptor.getInboundRouter();
 269  0
         assertNotNull(messageRouter.getCatchAllStrategy());
 270  0
         assertEquals(0, messageRouter.getRouters().size());
 271  0
         assertTrue(messageRouter.getCatchAllStrategy() instanceof ForwardingCatchAllStrategy);
 272  0
         assertEquals(2, messageRouter.getEndpoints().size());
 273  0
     }
 274  
 
 275  
     public void testResponseRouterConfig()
 276  
     {
 277  0
         UMODescriptor descriptor = MuleManager.getInstance().lookupModel("main").getDescriptor("orangeComponent");
 278  0
         assertNotNull(descriptor.getResponseRouter());
 279  0
         UMOResponseRouterCollection messageRouter = descriptor.getResponseRouter();
 280  0
         assertNull(messageRouter.getCatchAllStrategy());
 281  0
         assertEquals(10001, messageRouter.getTimeout());
 282  0
         assertEquals(1, messageRouter.getRouters().size());
 283  0
         UMOResponseRouter router = (UMOResponseRouter)messageRouter.getRouters().get(0);
 284  0
         assertTrue(router instanceof TestResponseAggregator);
 285  0
         assertNotNull(messageRouter.getEndpoints());
 286  0
         assertEquals(2, messageRouter.getEndpoints().size());
 287  0
         UMOEndpoint ep = (UMOEndpoint)messageRouter.getEndpoints().get(0);
 288  0
         assertEquals("response1", ep.getEndpointURI().getAddress());
 289  0
         assertEquals(UMOEndpoint.ENDPOINT_TYPE_RESPONSE, ep.getType());
 290  0
         ep = (UMOEndpoint)messageRouter.getEndpoints().get(1);
 291  0
         assertEquals("AppleResponseQueue", ep.getEndpointURI().getAddress());
 292  0
         assertEquals(UMOEndpoint.ENDPOINT_TYPE_RESPONSE, ep.getType());
 293  0
     }
 294  
 
 295  
     public void testObjectReferences() throws UMOException
 296  
     {
 297  0
         MuleDescriptor descriptor = (MuleDescriptor)MuleManager.getInstance().lookupModel("main").getDescriptor(
 298  
             "orangeComponent");
 299  0
         assertEquals(new DescriptorContainerKeyPair("orangeComponent", "orange"),
 300  
             descriptor.getImplementation());
 301  0
         assertEquals("descriptor", descriptor.getContainer());
 302  0
         assertNotNull(descriptor.getProperties().get("orange"));
 303  0
         assertEquals(Orange.class, descriptor.getImplementationClass());
 304  0
     }
 305  
 
 306  
     public void testAgentConfiguration() throws UMOException
 307  
     {
 308  0
         UMOAgent agent = MuleManager.getInstance().unregisterAgent("jmxAgent");
 309  0
         assertNotNull(agent);
 310  0
     }
 311  
 }