1   package com.atlassian.core.filters;
2   
3   import junit.framework.TestCase;
4   
5   import javax.servlet.Filter;
6   import javax.servlet.FilterChain;
7   import javax.servlet.ServletRequest;
8   import javax.servlet.ServletResponse;
9   import javax.servlet.http.HttpServletResponse;
10  
11  public class TestAbstractEncodingFilterContentLocationHandling extends TestCase
12  {
13      private ServletStubs.Request request;
14      private ServletStubs.Response response;
15      private Filter encodingFilter;
16  
17      protected void setUp() throws Exception
18      {
19          super.setUp();
20          request = ServletStubs.getRequestInstance();
21          response = ServletStubs.getResponseInstance();
22          encodingFilter = new StubEncodingFilter();
23      }
24  
25      public void testContentLocationHeaderCannotBeSet() throws Exception
26      {
27          encodingFilter.doFilter(request, response, new FilterChain() {
28              public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse)
29              {
30                  ((HttpServletResponse) servletResponse).setHeader("Content-Location", "/context");
31              }
32          });
33  
34          assertNull("content location should not be set", response.getHeader("Content-Location"));
35      }
36  
37      public void testContentLocationHeaderCannotBeAdded() throws Exception
38      {
39          encodingFilter.doFilter(request, response, new FilterChain() {
40              public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse)
41              {
42                  ((HttpServletResponse) servletResponse).addHeader("Content-Location", "/context");
43              }
44          });
45  
46          assertNull("content location should not be set", response.getHeader("Content-Location"));
47      }
48  }