1
2
3
4
5
6
7
8
9
10 package org.mule.transport.ajax;
11
12 import org.mule.api.MuleMessage;
13 import org.mule.module.client.MuleClient;
14 import org.mule.tck.AbstractMuleTestCase;
15 import org.mule.transport.NullPayload;
16 import org.mule.transport.servlet.JarResourceServlet;
17
18 import org.mortbay.jetty.Server;
19 import org.mortbay.jetty.nio.SelectChannelConnector;
20 import org.mortbay.jetty.servlet.ServletHandler;
21
22 public class ResourceLoaderServletTestCase extends AbstractMuleTestCase
23 {
24 private Server httpServer;
25
26 public ResourceLoaderServletTestCase()
27 {
28 super();
29
30 numPorts = 1;
31 }
32
33 @Override
34 protected void doSetUp() throws Exception
35 {
36 super.doSetUp();
37 httpServer = new Server();
38 SelectChannelConnector conn = new SelectChannelConnector();
39 conn.setPort(getPorts().get(0));
40 httpServer.addConnector(conn);
41
42 ServletHandler handler = new ServletHandler();
43 handler.addServletWithMapping(JarResourceServlet.class, "/mule-resource/*");
44
45 httpServer.addHandler(handler);
46
47 httpServer.start();
48 }
49
50 @Override
51 protected void doTearDown() throws Exception
52 {
53 super.doTearDown();
54
55 if (httpServer != null)
56 {
57 httpServer.stop();
58 httpServer.destroy();
59 }
60 }
61
62 public void testRetriveJSFromClasspath() throws Exception
63 {
64 muleContext.start();
65 MuleClient client = new MuleClient(muleContext);
66
67 MuleMessage m = client.request("http://localhost:" + getPorts().get(0) + "/mule-resource/js/mule.js", 3000);
68 assertFalse(m.getPayload() instanceof NullPayload);
69 }
70 }