View Javadoc

1   /*
2    * $Id: AbstractUMOManagerTestCase.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.interceptors.InterceptorStack;
15  import org.mule.interceptors.LoggingInterceptor;
16  import org.mule.umo.UMOInterceptorStack;
17  import org.mule.umo.endpoint.UMOEndpoint;
18  import org.mule.umo.manager.UMOManager;
19  import org.mule.umo.provider.UMOConnector;
20  import org.mule.umo.transformer.UMOTransformer;
21  
22  import java.util.ArrayList;
23  import java.util.List;
24  
25  public abstract class AbstractUMOManagerTestCase extends AbstractMuleTestCase
26  {
27      private static boolean initialised = false;
28  
29      protected void doSetUp() throws Exception
30      {
31          if (!initialised)
32          {
33              getUMOManager();
34              initialised = true;
35          }
36      }
37  
38      public abstract UMOManager getUMOManager() throws Exception;
39  
40      public void testConnectorLookup() throws Exception
41      {
42          UMOConnector connector = MuleManager.getInstance().lookupConnector("testConnector");
43          assertNotNull(connector);
44          assertEquals(1, MuleManager.getInstance().getConnectors().size());
45          UMOConnector connector2 = getTestConnector();
46          MuleManager.getInstance().registerConnector(connector2);
47          assertEquals(2, MuleManager.getInstance().getConnectors().size());
48  
49          assertNull(MuleManager.getInstance().lookupConnector("doesnotexist"));
50      }
51  
52      public void testEndpointLookup() throws Exception
53      {
54          UMOEndpoint endpoint = MuleManager.getInstance().lookupEndpoint("testEndpoint");
55          assertNotNull(endpoint);
56          assertEquals(1, MuleManager.getInstance().getEndpoints().size());
57          UMOEndpoint endpoint2 = getTestEndpoint("testProvider2", UMOEndpoint.ENDPOINT_TYPE_SENDER);
58          MuleManager.getInstance().registerEndpoint(endpoint2);
59          assertEquals(2, MuleManager.getInstance().getEndpoints().size());
60  
61          UMOEndpoint endpoint3 = MuleManager.getInstance().lookupEndpoint("doesnotexist");
62          assertNull(endpoint3);
63      }
64  
65      public void testTransformerLookup() throws Exception
66      {
67          UMOTransformer transformer = MuleManager.getInstance().lookupTransformer("testTransformer");
68          assertNotNull(transformer);
69          assertEquals(1, MuleManager.getInstance().getTransformers().size());
70          UMOTransformer transformer2 = getTestTransformer();
71          MuleManager.getInstance().registerTransformer(transformer2);
72          assertEquals(2, MuleManager.getInstance().getTransformers().size());
73  
74          UMOTransformer transformer3 = MuleManager.getInstance().lookupTransformer("doesnotexist");
75          assertNull(transformer3);
76      }
77  
78      public void testEndpointIdentifierLookup() throws Exception
79      {
80          String endpoint = MuleManager.getInstance().lookupEndpointIdentifier("testEndpointURI", null);
81          assertNotNull(endpoint);
82          assertEquals("test://endpoint.test", endpoint);
83          assertEquals(1, MuleManager.getInstance().getEndpointIdentifiers().size());
84          MuleManager.getInstance().registerEndpointIdentifier("testEndpoint2", "endpointUri.test.2");
85          assertEquals(2, MuleManager.getInstance().getEndpointIdentifiers().size());
86  
87          String endpoint2 = MuleManager.getInstance().lookupEndpointIdentifier("doesnotexist", null);
88          assertNull(endpoint2);
89      }
90  
91      public void testManagerProperties()
92      {
93          String value = (String) MuleManager.getInstance().getProperty("envProperty1");
94          assertEquals("value1", value);
95          assertEquals(1, MuleManager.getInstance().getProperties().size());
96      }
97  
98      public void testInterceptorStacks()
99      {
100         UMOInterceptorStack stack1 = MuleManager.getInstance().lookupInterceptorStack("testInterceptorStack");
101         assertNotNull(stack1);
102         List interceptors = stack1.getInterceptors();
103         assertEquals(2, interceptors.size());
104 
105         InterceptorStack stack2 = new InterceptorStack();
106         List interceptors2 = new ArrayList();
107         interceptors2.add(new LoggingInterceptor());
108         stack2.setInterceptors(interceptors2);
109 
110         MuleManager.getInstance().registerInterceptorStack("testInterceptors2", stack2);
111 
112         assertEquals(1, MuleManager.getInstance()
113             .lookupInterceptorStack("testInterceptors2")
114             .getInterceptors()
115             .size());
116 
117         UMOInterceptorStack stack3 = MuleManager.getInstance().lookupInterceptorStack("doesnotexist");
118         assertNull(stack3);
119     }
120 
121     public void testTrasactionSetting() throws Exception
122     {
123         assertNotNull(MuleManager.getInstance().getTransactionManager());
124         try
125         {
126             MuleManager.getInstance().setTransactionManager(null);
127             fail("cannot set tx manager once it has been set");
128         }
129         catch (Exception e)
130         {
131             // expected
132         }
133     }
134 }