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