1 package com.atlassian.gzipfilter;
2
3 import java.io.File;
4
5 import javax.servlet.FilterConfig;
6 import javax.servlet.ServletContext;
7 import javax.servlet.ServletException;
8
9 import com.atlassian.gzipfilter.integration.GzipFilterIntegration;
10
11 import org.junit.Rule;
12 import org.junit.Test;
13 import org.junit.rules.ExpectedException;
14
15 import static org.mockito.Mockito.mock;
16 import static org.mockito.Mockito.when;
17
18 public class GzipFilterTest
19 {
20
21 @Rule
22 public ExpectedException expectedException = ExpectedException.none();
23
24 @Test
25 public void testChecksForLegacyFilterConfigInitParam() throws Exception
26 {
27 final FilterConfig filterConfig = mock(FilterConfig.class);
28 final GzipFilterIntegration gzipFilterIntegration = mock(GzipFilterIntegration.class);
29
30 final GzipFilter filter = new GzipFilter(gzipFilterIntegration);
31 when(filterConfig.getInitParameter(GzipFilter.LEGACY_INIT_PARAM)).thenReturn("overwrite");
32
33 expectedException.expect(IllegalArgumentException.class);
34 filter.init(filterConfig);
35 }
36
37 @Test
38 public void testChecksForLegacyConfigOverrideUnderWebInf() throws Exception
39 {
40 final ServletContext servletContext = mock(ServletContext.class);
41 final FilterConfig filterConfig = mock(FilterConfig.class);
42 final GzipFilterIntegration gzipFilterIntegration = mock(GzipFilterIntegration.class);
43 when(filterConfig.getServletContext()).thenReturn(servletContext);
44
45 final File file = File.createTempFile("url-rewrite", "xml");
46 when(servletContext.getRealPath("/WEB-INF/" + GzipFilter.LEGACY_CONFIG_FILE)).thenReturn(file.getAbsolutePath());
47
48 final GzipFilter filter = new GzipFilter(gzipFilterIntegration);
49
50 expectedException.expect(IllegalArgumentException.class);
51 filter.init(filterConfig);
52 }
53
54 @Test
55 public void testNoLegacyOverrides() throws ServletException
56 {
57 final FilterConfig filterConfig = mock(FilterConfig.class);
58 final GzipFilterIntegration gzipFilterIntegration = mock(GzipFilterIntegration.class);
59
60 final GzipFilter filter = new GzipFilter(gzipFilterIntegration);
61 filter.init(filterConfig);
62 }
63 }