1 package com.atlassian.plugin.servlet;
2
3 import com.mockobjects.dynamic.Mock;
4 import com.mockobjects.dynamic.C;
5
6 import javax.servlet.http.HttpServletResponse;
7 import javax.servlet.http.HttpServletRequest;
8
9 import junit.framework.TestCase;
10
11 public class TestResourceDownloadUtils extends TestCase
12 {
13 private static final long ONE_YEAR = 60L * 60L * 24L *365L;
14 private static final String CACHE_CONTROL = "Cache-Control";
15
16 public void testAddPublicCachingHeaders()
17 {
18 Mock mockRequest = new Mock(HttpServletRequest.class);
19
20 Mock mockResponse = new Mock(HttpServletResponse.class);
21 mockResponse.expect("setDateHeader", C.ANY_ARGS);
22 mockResponse.expect("setHeader", C.args(C.eq(CACHE_CONTROL), C.eq("max-age=" + ONE_YEAR)));
23 mockResponse.expect("addHeader", C.args(C.eq(CACHE_CONTROL), C.eq("public")));
24
25 ResourceDownloadUtils.addPublicCachingHeaders((HttpServletRequest) mockRequest.proxy(), (HttpServletResponse) mockResponse.proxy());
26 }
27
28 public void testAddCachingHeadersWithCacheControls()
29 {
30 Mock mockResponse = new Mock(HttpServletResponse.class);
31 mockResponse.expect("setDateHeader", C.ANY_ARGS);
32 mockResponse.expect("setHeader", C.args(C.eq(CACHE_CONTROL), C.eq("max-age=" + ONE_YEAR)));
33 mockResponse.expect("addHeader", C.args(C.eq(CACHE_CONTROL), C.eq("private")));
34 mockResponse.expect("addHeader", C.args(C.eq(CACHE_CONTROL), C.eq("foo")));
35
36 ResourceDownloadUtils.addCachingHeaders((HttpServletResponse) mockResponse.proxy(), "private", "foo");
37 }
38 }