1   package com.atlassian.core.filters;
2   
3   import junit.framework.TestCase;
4   
5   public class TestAbstractEncodingFilterCachingHeaders extends TestCase
6   {
7       private StubEncodingFilter encodingFilter = new StubEncodingFilter();
8       private ServletStubs.Request request;
9       private ServletStubs.Response response;
10  
11      protected void setUp() throws Exception
12      {
13          super.setUp();
14          request = ServletStubs.getRequestInstance();
15          response = ServletStubs.getResponseInstance();
16      }
17  
18      public void testNoCachingHeadersByDefault() throws Exception
19      {
20          request.setRequestURI("/some-request");
21          encodingFilter.doFilter(request, response);
22  
23          assertNull("should be no cache-control header", response.getHeader("Cache-Control"));
24          assertNull("should be no pragma header", response.getHeader("Pragma"));
25          assertEquals(-1, response.getDateHeader("Expires"));
26      }
27  
28      public void testCachingHeadersAppliedToJspRequests() throws Exception
29      {
30          request.setRequestURI("/test-caching.jsp");
31          encodingFilter.doFilter(request, response);
32  
33          assertEquals("no-cache, no-store, must-revalidate", response.getHeader("Cache-Control"));
34          assertEquals("no-cache", response.getHeader("Pragma"));
35          assertEquals(0L, response.getDateHeader("Expires"));
36      }
37  
38      public void testCachingHeadersAppliedToJspaRequests() throws Exception
39      {
40          request.setRequestURI("/test-caching.jspa");
41          encodingFilter.doFilter(request, response);
42  
43          assertEquals("no-cache, no-store, must-revalidate", response.getHeader("Cache-Control"));
44          assertEquals("no-cache", response.getHeader("Pragma"));
45          assertEquals(0L, response.getDateHeader("Expires"));
46      }
47  
48  }