Skip to content

Commit 6e1f583

Browse files
committed
Polish ShallowEtagHeaderFilterTests
1 parent 57646a0 commit 6e1f583

File tree

1 file changed

+46
-48
lines changed

1 file changed

+46
-48
lines changed

spring-web/src/test/java/org/springframework/web/filter/ShallowEtagHeaderFilterTests.java

Lines changed: 46 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2020 the original author or authors.
2+
* Copyright 2002-2024 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,33 +16,34 @@
1616

1717
package org.springframework.web.filter;
1818

19-
import java.nio.charset.StandardCharsets;
20-
2119
import javax.servlet.FilterChain;
2220
import javax.servlet.http.HttpServletResponse;
2321

2422
import org.junit.jupiter.api.Test;
2523

26-
import org.springframework.http.MediaType;
2724
import org.springframework.util.FileCopyUtils;
2825
import org.springframework.util.StreamUtils;
2926
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
3027
import org.springframework.web.testfixture.servlet.MockHttpServletResponse;
3128

29+
import static java.nio.charset.StandardCharsets.UTF_8;
3230
import static org.assertj.core.api.Assertions.assertThat;
31+
import static org.springframework.http.MediaType.TEXT_PLAIN_VALUE;
3332

3433
/**
34+
* Tests for {@link ShallowEtagHeaderFilter}.
35+
*
3536
* @author Arjen Poutsma
3637
* @author Brian Clozel
3738
* @author Juergen Hoeller
3839
*/
39-
public class ShallowEtagHeaderFilterTests {
40+
class ShallowEtagHeaderFilterTests {
4041

4142
private final ShallowEtagHeaderFilter filter = new ShallowEtagHeaderFilter();
4243

4344

4445
@Test
45-
public void isEligibleForEtag() {
46+
void isEligibleForEtag() {
4647
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
4748
MockHttpServletResponse response = new MockHttpServletResponse();
4849

@@ -61,60 +62,60 @@ public void isEligibleForEtag() {
6162
}
6263

6364
@Test
64-
public void filterNoMatch() throws Exception {
65-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
65+
void filterNoMatch() throws Exception {
66+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
6667
MockHttpServletResponse response = new MockHttpServletResponse();
6768

68-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
69+
byte[] responseBody = "Hello World".getBytes(UTF_8);
6970
FilterChain filterChain = (filterRequest, filterResponse) -> {
7071
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
7172
((HttpServletResponse) filterResponse).setStatus(HttpServletResponse.SC_OK);
72-
filterResponse.setContentType(MediaType.TEXT_PLAIN_VALUE);
73+
filterResponse.setContentType(TEXT_PLAIN_VALUE);
7374
FileCopyUtils.copy(responseBody, filterResponse.getOutputStream());
7475
};
7576
filter.doFilter(request, response, filterChain);
7677

7778
assertThat(response.getStatus()).as("Invalid status").isEqualTo(200);
7879
assertThat(response.getHeader("ETag")).as("Invalid ETag").isEqualTo("\"0b10a8db164e0754105b7a99be72e3fe5\"");
79-
assertThat(response.getContentLength() > 0).as("Invalid Content-Length header").isTrue();
80-
assertThat(response.getContentType()).as("Invalid Content-Type header").isEqualTo(MediaType.TEXT_PLAIN_VALUE);
80+
assertThat(response.getContentLength()).as("Invalid Content-Length header").isGreaterThan(0);
81+
assertThat(response.getContentType()).as("Invalid Content-Type header").isEqualTo(TEXT_PLAIN_VALUE);
8182
assertThat(response.getContentAsByteArray()).as("Invalid content").isEqualTo(responseBody);
8283
}
8384

8485
@Test
85-
public void filterNoMatchWeakETag() throws Exception {
86+
void filterNoMatchWeakETag() throws Exception {
8687
this.filter.setWriteWeakETag(true);
87-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
88+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
8889
MockHttpServletResponse response = new MockHttpServletResponse();
8990

90-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
91+
byte[] responseBody = "Hello World".getBytes(UTF_8);
9192
FilterChain filterChain = (filterRequest, filterResponse) -> {
9293
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
9394
((HttpServletResponse) filterResponse).setStatus(HttpServletResponse.SC_OK);
94-
filterResponse.setContentType(MediaType.TEXT_PLAIN_VALUE);
95+
filterResponse.setContentType(TEXT_PLAIN_VALUE);
9596
FileCopyUtils.copy(responseBody, filterResponse.getOutputStream());
9697
};
9798
filter.doFilter(request, response, filterChain);
9899

99100
assertThat(response.getStatus()).as("Invalid status").isEqualTo(200);
100101
assertThat(response.getHeader("ETag")).as("Invalid ETag").isEqualTo("W/\"0b10a8db164e0754105b7a99be72e3fe5\"");
101-
assertThat(response.getContentLength() > 0).as("Invalid Content-Length header").isTrue();
102-
assertThat(response.getContentType()).as("Invalid Content-Type header").isEqualTo(MediaType.TEXT_PLAIN_VALUE);
102+
assertThat(response.getContentLength()).as("Invalid Content-Length header").isGreaterThan(0);
103+
assertThat(response.getContentType()).as("Invalid Content-Type header").isEqualTo(TEXT_PLAIN_VALUE);
103104
assertThat(response.getContentAsByteArray()).as("Invalid content").isEqualTo(responseBody);
104105
}
105106

106107
@Test
107-
public void filterMatch() throws Exception {
108-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
108+
void filterMatch() throws Exception {
109+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
109110
String etag = "\"0b10a8db164e0754105b7a99be72e3fe5\"";
110111
request.addHeader("If-None-Match", etag);
111112
MockHttpServletResponse response = new MockHttpServletResponse();
112113

113114
FilterChain filterChain = (filterRequest, filterResponse) -> {
114115
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
115-
byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
116+
byte[] responseBody = "Hello World".getBytes(UTF_8);
116117
filterResponse.setContentLength(responseBody.length);
117-
filterResponse.setContentType(MediaType.TEXT_PLAIN_VALUE);
118+
filterResponse.setContentType(TEXT_PLAIN_VALUE);
118119
FileCopyUtils.copy(responseBody, filterResponse.getOutputStream());
119120
};
120121
filter.doFilter(request, response, filterChain);
@@ -123,20 +124,19 @@ public void filterMatch() throws Exception {
123124
assertThat(response.getHeader("ETag")).as("Invalid ETag").isEqualTo("\"0b10a8db164e0754105b7a99be72e3fe5\"");
124125
assertThat(response.containsHeader("Content-Length")).as("Response has Content-Length header").isFalse();
125126
assertThat(response.containsHeader("Content-Type")).as("Response has Content-Type header").isFalse();
126-
byte[] expecteds = new byte[0];
127-
assertThat(response.getContentAsByteArray()).as("Invalid content").isEqualTo(expecteds);
127+
assertThat(response.getContentAsByteArray()).as("Invalid content").isEmpty();
128128
}
129129

130130
@Test
131-
public void filterMatchWeakEtag() throws Exception {
132-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
131+
void filterMatchWeakEtag() throws Exception {
132+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
133133
String etag = "\"0b10a8db164e0754105b7a99be72e3fe5\"";
134134
request.addHeader("If-None-Match", "W/" + etag);
135135
MockHttpServletResponse response = new MockHttpServletResponse();
136136

137137
FilterChain filterChain = (filterRequest, filterResponse) -> {
138138
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
139-
byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
139+
byte[] responseBody = "Hello World".getBytes(UTF_8);
140140
FileCopyUtils.copy(responseBody, filterResponse.getOutputStream());
141141
filterResponse.setContentLength(responseBody.length);
142142
};
@@ -145,13 +145,12 @@ public void filterMatchWeakEtag() throws Exception {
145145
assertThat(response.getStatus()).as("Invalid status").isEqualTo(304);
146146
assertThat(response.getHeader("ETag")).as("Invalid ETag").isEqualTo("\"0b10a8db164e0754105b7a99be72e3fe5\"");
147147
assertThat(response.containsHeader("Content-Length")).as("Response has Content-Length header").isFalse();
148-
byte[] expecteds = new byte[0];
149-
assertThat(response.getContentAsByteArray()).as("Invalid content").isEqualTo(expecteds);
148+
assertThat(response.getContentAsByteArray()).as("Invalid content").isEmpty();
150149
}
151150

152151
@Test
153-
public void filterWriter() throws Exception {
154-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
152+
void filterWriter() throws Exception {
153+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
155154
String etag = "\"0b10a8db164e0754105b7a99be72e3fe5\"";
156155
request.addHeader("If-None-Match", etag);
157156
MockHttpServletResponse response = new MockHttpServletResponse();
@@ -167,16 +166,15 @@ public void filterWriter() throws Exception {
167166
assertThat(response.getStatus()).as("Invalid status").isEqualTo(304);
168167
assertThat(response.getHeader("ETag")).as("Invalid ETag").isEqualTo("\"0b10a8db164e0754105b7a99be72e3fe5\"");
169168
assertThat(response.containsHeader("Content-Length")).as("Response has Content-Length header").isFalse();
170-
byte[] expecteds = new byte[0];
171-
assertThat(response.getContentAsByteArray()).as("Invalid content").isEqualTo(expecteds);
169+
assertThat(response.getContentAsByteArray()).as("Invalid content").isEmpty();
172170
}
173171

174172
@Test // SPR-12960
175-
public void filterWriterWithDisabledCaching() throws Exception {
176-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
173+
void filterWriterWithDisabledCaching() throws Exception {
174+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
177175
MockHttpServletResponse response = new MockHttpServletResponse();
178176

179-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
177+
byte[] responseBody = "Hello World".getBytes(UTF_8);
180178
FilterChain filterChain = (filterRequest, filterResponse) -> {
181179
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
182180
((HttpServletResponse) filterResponse).setStatus(HttpServletResponse.SC_OK);
@@ -192,11 +190,11 @@ public void filterWriterWithDisabledCaching() throws Exception {
192190
}
193191

194192
@Test
195-
public void filterSendError() throws Exception {
196-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
193+
void filterSendError() throws Exception {
194+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
197195
MockHttpServletResponse response = new MockHttpServletResponse();
198196

199-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
197+
byte[] responseBody = "Hello World".getBytes(UTF_8);
200198
FilterChain filterChain = (filterRequest, filterResponse) -> {
201199
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
202200
response.setContentLength(100);
@@ -212,11 +210,11 @@ public void filterSendError() throws Exception {
212210
}
213211

214212
@Test
215-
public void filterSendErrorMessage() throws Exception {
216-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
213+
void filterSendErrorMessage() throws Exception {
214+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
217215
MockHttpServletResponse response = new MockHttpServletResponse();
218216

219-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
217+
byte[] responseBody = "Hello World".getBytes(UTF_8);
220218
FilterChain filterChain = (filterRequest, filterResponse) -> {
221219
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
222220
response.setContentLength(100);
@@ -233,11 +231,11 @@ public void filterSendErrorMessage() throws Exception {
233231
}
234232

235233
@Test
236-
public void filterSendRedirect() throws Exception {
237-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
234+
void filterSendRedirect() throws Exception {
235+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
238236
MockHttpServletResponse response = new MockHttpServletResponse();
239237

240-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
238+
byte[] responseBody = "Hello World".getBytes(UTF_8);
241239
FilterChain filterChain = (filterRequest, filterResponse) -> {
242240
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
243241
response.setContentLength(100);
@@ -254,11 +252,11 @@ public void filterSendRedirect() throws Exception {
254252
}
255253

256254
@Test // SPR-13717
257-
public void filterFlushResponse() throws Exception {
258-
final MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
255+
void filterFlushResponse() throws Exception {
256+
MockHttpServletRequest request = new MockHttpServletRequest("GET", "/hotels");
259257
MockHttpServletResponse response = new MockHttpServletResponse();
260258

261-
final byte[] responseBody = "Hello World".getBytes(StandardCharsets.UTF_8);
259+
byte[] responseBody = "Hello World".getBytes(UTF_8);
262260
FilterChain filterChain = (filterRequest, filterResponse) -> {
263261
assertThat(filterRequest).as("Invalid request passed").isEqualTo(request);
264262
((HttpServletResponse) filterResponse).setStatus(HttpServletResponse.SC_OK);

0 commit comments

Comments
 (0)