41
41
public class ResourceHttpRequestHandlerTests {
42
42
43
43
private ResourceHttpRequestHandler handler ;
44
-
44
+
45
45
@ Before
46
46
public void setUp () {
47
47
List <Resource > resourcePaths = new ArrayList <Resource >();
@@ -52,7 +52,7 @@ public void setUp() {
52
52
handler .setCacheSeconds (3600 );
53
53
handler .setServletContext (new TestServletContext ());
54
54
}
55
-
55
+
56
56
@ Test
57
57
public void getResource () throws Exception {
58
58
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -65,11 +65,11 @@ public void getResource() throws Exception {
65
65
assertTrue (Long .valueOf (response .getHeader ("Expires" )) >= System .currentTimeMillis () - 1000 + (3600 * 1000 ));
66
66
assertEquals ("max-age=3600, must-revalidate" , response .getHeader ("Cache-Control" ));
67
67
assertTrue (response .containsHeader ("Last-Modified" ));
68
- assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
68
+ assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
69
69
new ClassPathResource ("test/foo.css" , getClass ()).getFile ().lastModified ());
70
70
assertEquals ("h1 { color:red; }" , response .getContentAsString ());
71
71
}
72
-
72
+
73
73
@ Test
74
74
public void getResourceWithHtmlMediaType () throws Exception {
75
75
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -81,10 +81,10 @@ public void getResourceWithHtmlMediaType() throws Exception {
81
81
assertTrue (Long .valueOf (response .getHeader ("Expires" )) >= System .currentTimeMillis () - 1000 + (3600 * 1000 ));
82
82
assertEquals ("max-age=3600, must-revalidate" , response .getHeader ("Cache-Control" ));
83
83
assertTrue (response .containsHeader ("Last-Modified" ));
84
- assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
84
+ assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
85
85
new ClassPathResource ("test/foo.html" , getClass ()).getFile ().lastModified ());
86
86
}
87
-
87
+
88
88
@ Test
89
89
public void getResourceFromAlternatePath () throws Exception {
90
90
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -97,11 +97,11 @@ public void getResourceFromAlternatePath() throws Exception {
97
97
assertTrue (Long .valueOf (response .getHeader ("Expires" )) >= System .currentTimeMillis () - 1000 + (3600 * 1000 ));
98
98
assertEquals ("max-age=3600, must-revalidate" , response .getHeader ("Cache-Control" ));
99
99
assertTrue (response .containsHeader ("Last-Modified" ));
100
- assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
100
+ assertEquals (Long .valueOf (response .getHeader ("Last-Modified" )).longValue (),
101
101
new ClassPathResource ("testalternatepath/baz.css" , getClass ()).getFile ().lastModified ());
102
102
assertEquals ("h1 { color:red; }" , response .getContentAsString ());
103
103
}
104
-
104
+
105
105
@ Test
106
106
public void getResourceFromSubDirectory () throws Exception {
107
107
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -112,7 +112,7 @@ public void getResourceFromSubDirectory() throws Exception {
112
112
assertEquals ("text/javascript" , response .getContentType ());
113
113
assertEquals ("function foo() { console.log(\" hello world\" ); }" , response .getContentAsString ());
114
114
}
115
-
115
+
116
116
@ Test
117
117
public void getResourceFromSubDirectoryOfAlternatePath () throws Exception {
118
118
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -138,7 +138,7 @@ public void getResourceViaDirectoryTraversal() throws Exception {
138
138
response = new MockHttpServletResponse ();
139
139
handler .handleRequest (request , response );
140
140
assertEquals (404 , response .getStatus ());
141
-
141
+
142
142
handler .setLocations (Arrays .<Resource >asList (new ClassPathResource ("testsecret/" , getClass ())));
143
143
request .setAttribute (HandlerMapping .PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE , "secret.txt" );
144
144
response = new MockHttpServletResponse ();
@@ -158,7 +158,7 @@ public void notModified() throws Exception {
158
158
handler .handleRequest (request , response );
159
159
assertEquals (HttpServletResponse .SC_NOT_MODIFIED , response .getStatus ());
160
160
}
161
-
161
+
162
162
@ Test
163
163
public void modified () throws Exception {
164
164
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -169,9 +169,9 @@ public void modified() throws Exception {
169
169
MockHttpServletResponse response = new MockHttpServletResponse ();
170
170
handler .handleRequest (request , response );
171
171
assertEquals (HttpServletResponse .SC_OK , response .getStatus ());
172
- assertEquals ("h1 { color:red; }" , response .getContentAsString ());
172
+ assertEquals ("h1 { color:red; }" , response .getContentAsString ());
173
173
}
174
-
174
+
175
175
@ Test
176
176
public void directory () throws Exception {
177
177
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -191,15 +191,15 @@ public void missingResourcePath() throws Exception {
191
191
handler .handleRequest (request , response );
192
192
assertEquals (404 , response .getStatus ());
193
193
}
194
-
194
+
195
195
@ Test (expected =IllegalStateException .class )
196
196
public void noPathWithinHandlerMappingAttribute () throws Exception {
197
197
MockHttpServletRequest request = new MockHttpServletRequest ();
198
198
request .setMethod ("GET" );
199
199
MockHttpServletResponse response = new MockHttpServletResponse ();
200
200
handler .handleRequest (request , response );
201
201
}
202
-
202
+
203
203
@ Test (expected =HttpRequestMethodNotSupportedException .class )
204
204
public void unsupportedHttpMethod () throws Exception {
205
205
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -208,7 +208,7 @@ public void unsupportedHttpMethod() throws Exception {
208
208
MockHttpServletResponse response = new MockHttpServletResponse ();
209
209
handler .handleRequest (request , response );
210
210
}
211
-
211
+
212
212
@ Test
213
213
public void resourceNotFound () throws Exception {
214
214
MockHttpServletRequest request = new MockHttpServletRequest ();
@@ -219,6 +219,11 @@ public void resourceNotFound() throws Exception {
219
219
assertEquals (404 , response .getStatus ());
220
220
}
221
221
222
+ @ Test (expected =IllegalArgumentException .class )
223
+ public void locationsNotSet () throws Exception {
224
+ new ResourceHttpRequestHandler ().afterPropertiesSet ();
225
+ }
226
+
222
227
223
228
private static class TestServletContext extends MockServletContext {
224
229
0 commit comments