/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/
package org.geomajas.gwt.server.mvc;
import java.io.IOException;
import javax.servlet.ServletException;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletContext;
public class GwtResourceControllerTest {
@Test
public void testResourceInClassPath() throws ServletException, IOException {
// create mock context that loads from the classpath
MockServletContext context = new MockServletContext();
MockHttpServletRequest request = new MockHttpServletRequest(context);
request.setPathInfo("/org/geomajas/gwt/server/mvc/geomajas_logo.png");
request.setMethod("GET");
MockHttpServletResponse response = new MockHttpServletResponse();
GwtResourceController resourceController = new GwtResourceController();
resourceController.setServletContext(context);
resourceController.getResource(request, response);
Resource resource = new ClassPathResource("/org/geomajas/gwt/server/mvc/geomajas_logo.png");
Assert.assertArrayEquals(IOUtils.toByteArray(resource.getInputStream()), response.getContentAsByteArray());
}
@Test
public void testResourceInContext() throws ServletException, IOException {
// create mock context that loads from the classpath
MockServletContext context = new MockServletContext();
MockHttpServletRequest request = new MockHttpServletRequest(context);
request.setServletPath("/org");
request.setPathInfo("/org/geomajas/gwt/server/mvc/geomajas_logo.png");
request.setMethod("GET");
MockHttpServletResponse response = new MockHttpServletResponse();
GwtResourceController resourceController = new GwtResourceController();
resourceController.setServletContext(context);
resourceController.getResource(request, response);
Resource resource = new ClassPathResource("/org/geomajas/gwt/server/mvc/geomajas_logo.png");
Assert.assertArrayEquals(IOUtils.toByteArray(resource.getInputStream()), response.getContentAsByteArray());
}
}