KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > tck > MuleTestUtils


1 /*
2  * $Id: MuleTestUtils.java 3798 2006-11-04 04:07:14Z aperepel $
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 MuleSource MPL
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 com.mockobjects.dynamic.Mock;
14
15 import org.apache.commons.lang.StringUtils;
16 import org.mule.MuleManager;
17 import org.mule.config.PoolingProfile;
18 import org.mule.impl.DefaultExceptionStrategy;
19 import org.mule.impl.MuleDescriptor;
20 import org.mule.impl.MuleEvent;
21 import org.mule.impl.MuleMessage;
22 import org.mule.impl.MuleSession;
23 import org.mule.impl.RequestContext;
24 import org.mule.impl.endpoint.MuleEndpoint;
25 import org.mule.impl.endpoint.MuleEndpointURI;
26 import org.mule.impl.model.seda.SedaComponent;
27 import org.mule.impl.model.seda.SedaModel;
28 import org.mule.tck.testmodels.mule.TestAgent;
29 import org.mule.tck.testmodels.mule.TestCompressionTransformer;
30 import org.mule.tck.testmodels.mule.TestConnector;
31 import org.mule.umo.UMOComponent;
32 import org.mule.umo.UMODescriptor;
33 import org.mule.umo.UMOEvent;
34 import org.mule.umo.UMOException;
35 import org.mule.umo.UMOSession;
36 import org.mule.umo.UMOTransaction;
37 import org.mule.umo.UMOTransactionFactory;
38 import org.mule.umo.UMOEventContext;
39 import org.mule.umo.endpoint.UMOEndpoint;
40 import org.mule.umo.endpoint.UMOEndpointURI;
41 import org.mule.umo.endpoint.UMOImmutableEndpoint;
42 import org.mule.umo.manager.UMOManager;
43 import org.mule.umo.provider.UMOConnector;
44 import org.mule.umo.provider.UMOMessageDispatcher;
45 import org.mule.umo.transformer.UMOTransformer;
46 import org.mule.util.ClassUtils;
47
48 import java.util.HashMap JavaDoc;
49
50 /**
51  * Utilities for creating test and Mock Mule objects
52  *
53  * @author <a HREF="mailto:ross.mason@symphonysoft.com">Ross Mason</a>
54  * @version $Revision: 3798 $
55  */

56 public class MuleTestUtils
57 {
58     public static UMOManager getManager(boolean disableAdminService) throws Exception JavaDoc
59     {
60         UMOManager manager;
61         if (MuleManager.isInstanciated())
62         {
63             MuleManager.getInstance().dispose();
64         }
65         manager = MuleManager.getInstance();
66         if (disableAdminService)
67         {
68             MuleManager.getConfiguration().setServerUrl(StringUtils.EMPTY);
69         }
70         manager.setModel(new SedaModel());
71         MuleManager.getConfiguration().setSynchronous(true);
72         MuleManager.getConfiguration().getPoolingProfile().setInitialisationPolicy(
73             PoolingProfile.POOL_INITIALISE_NO_COMPONENTS);
74
75         return manager;
76     }
77
78     public static UMOEndpoint getTestEndpoint(String JavaDoc name, String JavaDoc type) throws Exception JavaDoc
79     {
80         UMOEndpoint endpoint = new MuleEndpoint();
81         // need to build endpoint this way to avoid depenency to any endpoint
82
// jars
83
UMOConnector connector = null;
84         connector = (UMOConnector)ClassUtils.loadClass("org.mule.tck.testmodels.mule.TestConnector",
85             AbstractMuleTestCase.class).newInstance();
86
87         connector.setName("testConnector");
88         endpoint.setConnector(connector);
89         endpoint.setEndpointURI(new MuleEndpointURI("test://test"));
90         endpoint.setName(name);
91         endpoint.setType(type);
92         return endpoint;
93     }
94
95     public static UMOEvent getTestEvent(Object JavaDoc data) throws Exception JavaDoc
96     {
97         UMOComponent component = getTestComponent(getTestDescriptor("string", String JavaDoc.class.getName()));
98         UMOSession session = getTestSession(component);
99         return new MuleEvent(new MuleMessage(data, new HashMap JavaDoc()), getTestEndpoint("test1",
100             UMOEndpoint.ENDPOINT_TYPE_SENDER), session, true);
101     }
102
103     public static UMOEventContext getTestEventContext(Object JavaDoc data) throws Exception JavaDoc
104     {
105         try
106         {
107             UMOEvent event = getTestEvent(data);
108             RequestContext.setEvent(event);
109             return RequestContext.getEventContext();
110         }
111         finally
112         {
113             RequestContext.setEvent(null);
114         }
115     }
116
117     public static UMOTransformer getTestTransformer()
118     {
119         return new TestCompressionTransformer();
120     }
121
122     public static UMOEvent getTestEvent(Object JavaDoc data, MuleDescriptor descriptor) throws Exception JavaDoc
123     {
124         UMOComponent component = getTestComponent(descriptor);
125
126         UMOSession session = getTestSession(component);
127
128         UMOEndpoint endpoint = getTestEndpoint("test1", UMOEndpoint.ENDPOINT_TYPE_SENDER);
129
130         return new MuleEvent(new MuleMessage(data, new HashMap JavaDoc()), endpoint, session, true);
131     }
132
133     public static UMOEvent getTestEvent(Object JavaDoc data, UMOImmutableEndpoint endpoint) throws Exception JavaDoc
134     {
135         UMOSession session = getTestSession(getTestComponent(getTestDescriptor("string",
136             String JavaDoc.class.getName())));
137         return new MuleEvent(new MuleMessage(data, new HashMap JavaDoc()), endpoint, session, true);
138     }
139
140     public static UMOEvent getTestEvent(Object JavaDoc data, MuleDescriptor descriptor, UMOImmutableEndpoint endpoint)
141         throws UMOException
142     {
143         UMOSession session = getTestSession(getTestComponent(descriptor));
144         UMOEvent event = new MuleEvent(new MuleMessage(data, new HashMap JavaDoc()), endpoint, session, true);
145         return event;
146     }
147
148     public static UMOSession getTestSession(UMOComponent component)
149     {
150         return new MuleSession(component);
151     }
152
153     public static UMOSession getTestSession()
154     {
155         return new MuleSession(null);
156     }
157
158     public static TestConnector getTestConnector()
159     {
160         TestConnector testConnector = new TestConnector();
161         testConnector.setName("testConnector");
162         return testConnector;
163     }
164
165     public static UMOComponent getTestComponent(MuleDescriptor descriptor)
166     {
167         return new SedaComponent(descriptor, new SedaModel());
168     }
169
170     public static MuleDescriptor getTestDescriptor(String JavaDoc name, String JavaDoc implementation) throws Exception JavaDoc
171     {
172         MuleDescriptor descriptor = new MuleDescriptor();
173         descriptor.setExceptionListener(new DefaultExceptionStrategy());
174         descriptor.setName(name);
175         descriptor.setImplementation(implementation);
176         descriptor.setOutboundEndpoint(getTestEndpoint("test1", UMOEndpoint.ENDPOINT_TYPE_SENDER));
177         descriptor.initialise();
178
179         descriptor.getPoolingProfile().setInitialisationPolicy(PoolingProfile.POOL_INITIALISE_NO_COMPONENTS);
180
181         return descriptor;
182     }
183
184     public static UMOManager getTestManager() throws UMOException
185     {
186         UMOManager manager = MuleManager.getInstance();
187         manager.setModel(new SedaModel());
188         return manager;
189     }
190
191     public static TestAgent getTestAgent()
192     {
193         return new TestAgent();
194     }
195
196     public static Mock getMockSession()
197     {
198         return new Mock(UMOSession.class, "umoSession");
199     }
200
201     public static Mock getMockMessageDispatcher()
202     {
203         return new Mock(UMOMessageDispatcher.class, "umoConnectorSession");
204     }
205
206     public static Mock getMockConnector()
207     {
208         return new Mock(UMOConnector.class, "umoConnector");
209     }
210
211     public static Mock getMockEvent()
212     {
213         return new Mock(UMOEvent.class, "umoEvent");
214     }
215
216     public static Mock getMockManager()
217     {
218         return new Mock(MuleManager.class, "muleManager");
219     }
220
221     public static Mock getMockEndpoint()
222     {
223         return new Mock(UMOEndpoint.class, "umoEndpoint");
224     }
225
226     public static Mock getMockEndpointURI()
227     {
228         return new Mock(UMOEndpointURI.class, "umoEndpointUri");
229     }
230
231     public static Mock getMockDescriptor()
232     {
233         return new Mock(UMODescriptor.class, "umoDescriptor");
234     }
235
236     public static Mock getMockTransaction()
237     {
238         return new Mock(UMOTransaction.class, "umoTransaction");
239     }
240
241     public static Mock getMockTransactionFactory()
242     {
243         return new Mock(UMOTransactionFactory.class, "umoTransactionFactory");
244     }
245 }
246
Popular Tags