package org.ovirt.engine.core.branding; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Locale; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.ovirt.engine.core.utils.servlet.LocaleFilter; @RunWith(MockitoJUnitRunner.class) public class BrandingFilterTest { /** * The filter under test. */ BrandingFilter testFilter; @Mock HttpServletRequest mockRequest; @Mock HttpServletResponse mockResponse; @Mock FilterChain mockChain; @Mock FilterConfig mockFilterConfig; @Mock BrandingManager mockBrandingManager; @Mock ServletContext mockServletContext; List<BrandingTheme> mockBrandingThemes; @Before public void setUp() throws Exception { testFilter = new BrandingFilter(); testFilter.init(mockFilterConfig, mockBrandingManager); mockBrandingThemes = new ArrayList<>(); when(mockRequest.getAttribute(LocaleFilter.LOCALE)).thenReturn(Locale.US); when(mockRequest.getServletContext()).thenReturn(mockServletContext); when(mockServletContext.getInitParameter("applicationName")).thenReturn("test"); when(mockBrandingManager.getBrandingThemes()).thenReturn(mockBrandingThemes); } @Test public void testDoFilter() throws ServletException, IOException { testFilter.doFilter(mockRequest, mockResponse, mockChain); verify(mockRequest).setAttribute(BrandingFilter.THEMES_KEY, mockBrandingThemes); verify(mockChain).doFilter(mockRequest, mockResponse); } }