1
1
/*
2
- * Copyright 2002-2012 the original author or authors.
2
+ * Copyright 2002-2013 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
37
37
38
38
/**
39
39
* @author Juergen Hoeller
40
+ * @author Markus Malkusch
40
41
* @since 26.07.2006
41
42
*/
42
43
public class ServletWebRequestTests {
@@ -116,7 +117,7 @@ public void decoratedNativeRequest() {
116
117
}
117
118
118
119
@ Test
119
- public void checkNotModifiedTimeStamp () {
120
+ public void checkNotModifiedTimeStampForGET () {
120
121
long currentTime = new Date ().getTime ();
121
122
servletRequest .setMethod ("GET" );
122
123
servletRequest .addHeader ("If-Modified-Since" , currentTime );
@@ -127,7 +128,7 @@ public void checkNotModifiedTimeStamp() {
127
128
}
128
129
129
130
@ Test
130
- public void checkModifiedTimeStamp () {
131
+ public void checkModifiedTimeStampForGET () {
131
132
long currentTime = new Date ().getTime ();
132
133
long oneMinuteAgo = currentTime - (1000 * 60 );
133
134
servletRequest .setMethod ("GET" );
@@ -140,7 +141,7 @@ public void checkModifiedTimeStamp() {
140
141
}
141
142
142
143
@ Test
143
- public void checkNotModifiedETag () {
144
+ public void checkNotModifiedETagForGET () {
144
145
String eTag = "\" Foo\" " ;
145
146
servletRequest .setMethod ("GET" );
146
147
servletRequest .addHeader ("If-None-Match" , eTag );
@@ -151,7 +152,7 @@ public void checkNotModifiedETag() {
151
152
}
152
153
153
154
@ Test
154
- public void checkModifiedETag () {
155
+ public void checkModifiedETagForGET () {
155
156
String currentETag = "\" Foo\" " ;
156
157
String oldEtag = "Bar" ;
157
158
servletRequest .setMethod ("GET" );
@@ -163,4 +164,52 @@ public void checkModifiedETag() {
163
164
assertEquals (currentETag , servletResponse .getHeader ("ETag" ));
164
165
}
165
166
167
+ @ Test
168
+ public void checkNotModifiedTimeStampForHEAD () {
169
+ long currentTime = new Date ().getTime ();
170
+ servletRequest .setMethod ("HEAD" );
171
+ servletRequest .addHeader ("If-Modified-Since" , currentTime );
172
+
173
+ request .checkNotModified (currentTime );
174
+
175
+ assertEquals (304 , servletResponse .getStatus ());
176
+ }
177
+
178
+ @ Test
179
+ public void checkModifiedTimeStampForHEAD () {
180
+ long currentTime = new Date ().getTime ();
181
+ long oneMinuteAgo = currentTime - (1000 * 60 );
182
+ servletRequest .setMethod ("HEAD" );
183
+ servletRequest .addHeader ("If-Modified-Since" , oneMinuteAgo );
184
+
185
+ request .checkNotModified (currentTime );
186
+
187
+ assertEquals (200 , servletResponse .getStatus ());
188
+ assertEquals ("" +currentTime , servletResponse .getHeader ("Last-Modified" ));
189
+ }
190
+
191
+ @ Test
192
+ public void checkNotModifiedETagForHEAD () {
193
+ String eTag = "\" Foo\" " ;
194
+ servletRequest .setMethod ("HEAD" );
195
+ servletRequest .addHeader ("If-None-Match" , eTag );
196
+
197
+ request .checkNotModified (eTag );
198
+
199
+ assertEquals (304 , servletResponse .getStatus ());
200
+ }
201
+
202
+ @ Test
203
+ public void checkModifiedETagForHEAD () {
204
+ String currentETag = "\" Foo\" " ;
205
+ String oldEtag = "Bar" ;
206
+ servletRequest .setMethod ("HEAD" );
207
+ servletRequest .addHeader ("If-None-Match" , oldEtag );
208
+
209
+ request .checkNotModified (currentETag );
210
+
211
+ assertEquals (200 , servletResponse .getStatus ());
212
+ assertEquals (currentETag , servletResponse .getHeader ("ETag" ));
213
+ }
214
+
166
215
}
0 commit comments