1 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 ; 49 50 56 public class MuleTestUtils 57 { 58 public static UMOManager getManager(boolean disableAdminService) throws Exception 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 name, String type) throws Exception 79 { 80 UMOEndpoint endpoint = new MuleEndpoint(); 81 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 data) throws Exception 96 { 97 UMOComponent component = getTestComponent(getTestDescriptor("string", String .class.getName())); 98 UMOSession session = getTestSession(component); 99 return new MuleEvent(new MuleMessage(data, new HashMap ()), getTestEndpoint("test1", 100 UMOEndpoint.ENDPOINT_TYPE_SENDER), session, true); 101 } 102 103 public static UMOEventContext getTestEventContext(Object data) throws Exception 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 data, MuleDescriptor descriptor) throws Exception 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 ()), endpoint, session, true); 131 } 132 133 public static UMOEvent getTestEvent(Object data, UMOImmutableEndpoint endpoint) throws Exception 134 { 135 UMOSession session = getTestSession(getTestComponent(getTestDescriptor("string", 136 String .class.getName()))); 137 return new MuleEvent(new MuleMessage(data, new HashMap ()), endpoint, session, true); 138 } 139 140 public static UMOEvent getTestEvent(Object 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 ()), 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 name, String implementation) throws Exception 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 |