Polish AbstractMockWebServerTestCase
This commit is contained in:
@@ -32,9 +32,13 @@ import org.junit.Before;
|
||||
import org.springframework.http.MediaType;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.springframework.http.HttpHeaders.CONTENT_LENGTH;
|
||||
import static org.springframework.http.HttpHeaders.CONTENT_TYPE;
|
||||
import static org.springframework.http.HttpHeaders.LOCATION;
|
||||
|
||||
/**
|
||||
* @author Brian Clozel
|
||||
* @author Sam Brannen
|
||||
*/
|
||||
public class AbstractMockWebServerTestCase {
|
||||
|
||||
@@ -43,7 +47,7 @@ public class AbstractMockWebServerTestCase {
|
||||
|
||||
protected static final String helloWorld = "H\u00e9llo W\u00f6rld";
|
||||
|
||||
private MockWebServer server;
|
||||
private final MockWebServer server = new MockWebServer();
|
||||
|
||||
protected int port;
|
||||
|
||||
@@ -52,7 +56,6 @@ public class AbstractMockWebServerTestCase {
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
this.server = new MockWebServer();
|
||||
this.server.setDispatcher(new TestDispatcher());
|
||||
this.server.start();
|
||||
this.port = this.server.getPort();
|
||||
@@ -72,11 +75,11 @@ public class AbstractMockWebServerTestCase {
|
||||
Buffer buf = new Buffer();
|
||||
buf.write(body);
|
||||
MockResponse response = new MockResponse()
|
||||
.setHeader("Content-Length", body.length)
|
||||
.setHeader(CONTENT_LENGTH, body.length)
|
||||
.setBody(buf)
|
||||
.setResponseCode(200);
|
||||
if (contentType != null) {
|
||||
response = response.setHeader("Content-Type", contentType);
|
||||
response = response.setHeader(CONTENT_TYPE, contentType);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
@@ -84,9 +87,9 @@ public class AbstractMockWebServerTestCase {
|
||||
private MockResponse postRequest(RecordedRequest request, String expectedRequestContent,
|
||||
String location, String contentType, byte[] responseBody) {
|
||||
|
||||
assertThat(request.getHeaders().values("Content-Length").size()).isEqualTo(1);
|
||||
assertThat(Integer.parseInt(request.getHeader("Content-Length"))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader("Content-Type");
|
||||
assertThat(request.getHeaders().values(CONTENT_LENGTH).size()).isEqualTo(1);
|
||||
assertThat(Integer.parseInt(request.getHeader(CONTENT_LENGTH))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader(CONTENT_TYPE);
|
||||
assertThat(requestContentType).as("No content-type").isNotNull();
|
||||
Charset charset = StandardCharsets.ISO_8859_1;
|
||||
if (requestContentType.contains("charset=")) {
|
||||
@@ -97,22 +100,22 @@ public class AbstractMockWebServerTestCase {
|
||||
Buffer buf = new Buffer();
|
||||
buf.write(responseBody);
|
||||
return new MockResponse()
|
||||
.setHeader("Location", baseUrl + location)
|
||||
.setHeader("Content-Type", contentType)
|
||||
.setHeader("Content-Length", responseBody.length)
|
||||
.setHeader(LOCATION, baseUrl + location)
|
||||
.setHeader(CONTENT_TYPE, contentType)
|
||||
.setHeader(CONTENT_LENGTH, responseBody.length)
|
||||
.setBody(buf)
|
||||
.setResponseCode(201);
|
||||
}
|
||||
|
||||
private MockResponse jsonPostRequest(RecordedRequest request, String location, String contentType) {
|
||||
if (request.getBodySize() > 0) {
|
||||
assertThat(Integer.parseInt(request.getHeader("Content-Length"))).as("Invalid request content-length").isGreaterThan(0);
|
||||
assertThat(request.getHeader("Content-Type")).as("No content-type").isNotNull();
|
||||
assertThat(Integer.parseInt(request.getHeader(CONTENT_LENGTH))).as("Invalid request content-length").isGreaterThan(0);
|
||||
assertThat(request.getHeader(CONTENT_TYPE)).as("No content-type").isNotNull();
|
||||
}
|
||||
return new MockResponse()
|
||||
.setHeader("Location", baseUrl + location)
|
||||
.setHeader("Content-Type", contentType)
|
||||
.setHeader("Content-Length", request.getBody().size())
|
||||
.setHeader(LOCATION, baseUrl + location)
|
||||
.setHeader(CONTENT_TYPE, contentType)
|
||||
.setHeader(CONTENT_LENGTH, request.getBody().size())
|
||||
.setBody(request.getBody())
|
||||
.setResponseCode(201);
|
||||
}
|
||||
@@ -139,9 +142,9 @@ public class AbstractMockWebServerTestCase {
|
||||
|
||||
assertThat(buffer.readUtf8Line()).contains("--" + boundary);
|
||||
String line = buffer.readUtf8Line();
|
||||
assertThat(line).contains("Content-Disposition: "+ disposition);
|
||||
assertThat(line).contains("name=\""+ name + "\"");
|
||||
assertThat(buffer.readUtf8Line()).startsWith("Content-Type: "+contentType);
|
||||
assertThat(line).contains("Content-Disposition: " + disposition);
|
||||
assertThat(line).contains("name=\"" + name + "\"");
|
||||
assertThat(buffer.readUtf8Line()).startsWith("Content-Type: " + contentType);
|
||||
assertThat(buffer.readUtf8Line()).isEqualTo("Content-Length: " + value.length());
|
||||
assertThat(buffer.readUtf8Line()).isEqualTo("");
|
||||
assertThat(buffer.readUtf8Line()).isEqualTo(value);
|
||||
@@ -162,11 +165,8 @@ public class AbstractMockWebServerTestCase {
|
||||
}
|
||||
|
||||
private MockResponse formRequest(RecordedRequest request) {
|
||||
assertThat(request.getHeader("Content-Type")).isEqualTo("application/x-www-form-urlencoded;charset=UTF-8");
|
||||
String body = request.getBody().readUtf8();
|
||||
assertThat(body).contains("name+1=value+1");
|
||||
assertThat(body).contains("name+2=value+2%2B1");
|
||||
assertThat(body).contains("name+2=value+2%2B2");
|
||||
assertThat(request.getHeader(CONTENT_TYPE)).isEqualTo("application/x-www-form-urlencoded;charset=UTF-8");
|
||||
assertThat(request.getBody().readUtf8()).contains("name+1=value+1", "name+2=value+2%2B1", "name+2=value+2%2B2");
|
||||
return new MockResponse().setResponseCode(200);
|
||||
}
|
||||
|
||||
@@ -174,8 +174,8 @@ public class AbstractMockWebServerTestCase {
|
||||
String contentType, byte[] responseBody) {
|
||||
|
||||
assertThat(request.getMethod()).isEqualTo("PATCH");
|
||||
assertThat(Integer.parseInt(request.getHeader("Content-Length"))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader("Content-Type");
|
||||
assertThat(Integer.parseInt(request.getHeader(CONTENT_LENGTH))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader(CONTENT_TYPE);
|
||||
assertThat(requestContentType).as("No content-type").isNotNull();
|
||||
Charset charset = StandardCharsets.ISO_8859_1;
|
||||
if (requestContentType.contains("charset=")) {
|
||||
@@ -186,14 +186,14 @@ public class AbstractMockWebServerTestCase {
|
||||
Buffer buf = new Buffer();
|
||||
buf.write(responseBody);
|
||||
return new MockResponse().setResponseCode(201)
|
||||
.setHeader("Content-Length", responseBody.length)
|
||||
.setHeader("Content-Type", contentType)
|
||||
.setHeader(CONTENT_LENGTH, responseBody.length)
|
||||
.setHeader(CONTENT_TYPE, contentType)
|
||||
.setBody(buf);
|
||||
}
|
||||
|
||||
private MockResponse putRequest(RecordedRequest request, String expectedRequestContent) {
|
||||
assertThat(Integer.parseInt(request.getHeader("Content-Length"))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader("Content-Type");
|
||||
assertThat(Integer.parseInt(request.getHeader(CONTENT_LENGTH))).as("Invalid request content-length").isGreaterThan(0);
|
||||
String requestContentType = request.getHeader(CONTENT_TYPE);
|
||||
assertThat(requestContentType).as("No content-type").isNotNull();
|
||||
Charset charset = StandardCharsets.ISO_8859_1;
|
||||
if (requestContentType.contains("charset=")) {
|
||||
@@ -243,7 +243,7 @@ public class AbstractMockWebServerTestCase {
|
||||
return new MockResponse().setResponseCode(500);
|
||||
}
|
||||
else if (request.getPath().contains("/uri/")) {
|
||||
return new MockResponse().setBody(request.getPath()).setHeader("Content-Type", "text/plain");
|
||||
return new MockResponse().setBody(request.getPath()).setHeader(CONTENT_TYPE, "text/plain");
|
||||
}
|
||||
else if (request.getPath().equals("/multipart")) {
|
||||
return multipartRequest(request);
|
||||
|
||||
Reference in New Issue
Block a user