/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.web;
import static org.easymock.EasyMock.*;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import junit.framework.TestCase;
import org.springframework.web.context.WebApplicationContext;
public class Utf8EncodingFilterTest extends TestCase {
/* Tests the Utf8EncodingFilter..
*/
public final void testFilter() throws Exception {
// Mocks the servlet response.
HttpServletResponse response = createMock(HttpServletResponse.class);
// response.setCharacterEncoding("UTF-8");
replay(response);
// Mocks the servlet request.
HttpServletRequest request = createNiceMock(HttpServletRequest.class);
request.setCharacterEncoding("UTF-8");
replay(request);
// Mocks the Filter.
FilterChain chain = createNiceMock(FilterChain.class);
replay(chain);
// Mocks the Web Application Context
WebApplicationContext wac = createMock(WebApplicationContext.class);
replay(wac);
// Mocks the HttpServletContext
ServletContext servletContext = createNiceMock(ServletContext.class);
expect(servletContext.getAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
)).andReturn(wac);
expectLastCall().anyTimes();
replay(servletContext);
// Mocks the FilterConfig
FilterConfig filterConfig = createMock(FilterConfig.class);
expect(filterConfig.getServletContext()).andReturn(servletContext);
expectLastCall().anyTimes();
replay(filterConfig);
// Execute the test.
Utf8EncodingFilter filter = new Utf8EncodingFilter();
filter.init(filterConfig);
filter.doFilter(request, response, chain);
filter.destroy();
verify(request);
verify(response);
}
}