View Javadoc

1   /*
2    * $Id: ResourceLoaderServletTestCase.java 20321 2010-11-24 15:21:24Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.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  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          // use dynamic ports outside of a FunctionalTestCase 
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          // this generates an exception in GenericServlet which we can safely ignore
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  }