/* vim: set ts=2 et sw=2 cindent fo=qroca: */ package com.globant.katari.core.web; import static org.easymock.EasyMock.*; import java.util.Locale; import javax.servlet.FilterChain; import org.junit.Before; import org.junit.Test; import org.springframework.mock.web.MockFilterConfig; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.web.servlet.LocaleResolver; public class ChangeLocaleFilterTest { MockHttpServletRequest request; MockHttpServletResponse response; MockFilterConfig filterConfig; FilterChain chain; @Before public void setUp() { request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); // Mocks the Filter. chain = createNiceMock(FilterChain.class); replay(chain); } @Test public void doFilter_noLangParameter() throws Exception { LocaleResolver localeResolver = createMock(LocaleResolver.class); expect(localeResolver.resolveLocale(request)).andReturn(null); replay(localeResolver); // Execute the test. ChangeLocaleFilter filter = new ChangeLocaleFilter(localeResolver); filter.init(filterConfig); filter.doFilter(request, response, chain); verify(localeResolver); filter.destroy(); } @Test public void doFilter_langParameter() throws Exception { LocaleResolver localeResolver = createMock(LocaleResolver.class); localeResolver.setLocale(eq(request), eq(response), isA(Locale.class)); replay(localeResolver); // Execute the test. ChangeLocaleFilter filter = new ChangeLocaleFilter(localeResolver); request.setParameter("lang", "es_AR"); filter.doFilter(request, response, chain); verify(localeResolver); } }