use of okhttp3.mockwebserver.RecordedRequest in project okhttp by square.
the class URLConnectionTest method bodyPermittedOnDelete.
/**
* The RFC is unclear in this regard as it only specifies that this should invalidate the cache
* entry (if any).
*/
@Test
public void bodyPermittedOnDelete() throws Exception {
server.enqueue(new MockResponse());
HttpURLConnection connection = urlFactory.open(server.url("/").url());
connection.setRequestMethod("DELETE");
connection.setDoOutput(true);
connection.getOutputStream().write("BODY".getBytes(UTF_8));
assertEquals(200, connection.getResponseCode());
RecordedRequest request = server.takeRequest();
assertEquals("DELETE", request.getMethod());
assertEquals("BODY", request.getBody().readUtf8());
}
use of okhttp3.mockwebserver.RecordedRequest in project okhttp by square.
the class URLConnectionTest method redirectedOnHttps.
@Test
public void redirectedOnHttps() throws IOException, InterruptedException {
server.useHttps(sslClient.socketFactory, false);
server.enqueue(new MockResponse().setResponseCode(HttpURLConnection.HTTP_MOVED_TEMP).addHeader("Location: /foo").setBody("This page has moved!"));
server.enqueue(new MockResponse().setBody("This is the new location!"));
urlFactory.setClient(urlFactory.client().newBuilder().sslSocketFactory(sslClient.socketFactory, sslClient.trustManager).hostnameVerifier(new RecordingHostnameVerifier()).build());
connection = urlFactory.open(server.url("/").url());
assertEquals("This is the new location!", readAscii(connection.getInputStream(), Integer.MAX_VALUE));
RecordedRequest first = server.takeRequest();
assertEquals("GET / HTTP/1.1", first.getRequestLine());
RecordedRequest retry = server.takeRequest();
assertEquals("GET /foo HTTP/1.1", retry.getRequestLine());
assertEquals("Expected connection reuse", 1, retry.getSequenceNumber());
}
use of okhttp3.mockwebserver.RecordedRequest in project okhttp by square.
the class URLConnectionTest method bufferedBodyWithClientRequestTimeout.
@Test
public void bufferedBodyWithClientRequestTimeout() throws Exception {
enqueueClientRequestTimeoutResponses();
HttpURLConnection connection = urlFactory.open(server.url("/").url());
connection.setRequestMethod("POST");
connection.getOutputStream().write("Hello".getBytes("UTF-8"));
assertEquals(200, connection.getResponseCode());
assertEquals("Body", readAscii(connection.getInputStream(), Integer.MAX_VALUE));
RecordedRequest request1 = server.takeRequest();
assertEquals("Hello", request1.getBody().readUtf8());
RecordedRequest request2 = server.takeRequest();
assertEquals("Hello", request2.getBody().readUtf8());
}
use of okhttp3.mockwebserver.RecordedRequest in project okhttp by square.
the class URLConnectionTest method zeroLengthPayload.
private void zeroLengthPayload(String method) throws IOException, InterruptedException {
server.enqueue(new MockResponse());
connection = urlFactory.open(server.url("/").url());
connection.setRequestProperty("Content-Length", "0");
connection.setRequestMethod(method);
connection.setFixedLengthStreamingMode(0);
connection.setDoOutput(true);
assertContent("", connection);
RecordedRequest zeroLengthPayload = server.takeRequest();
assertEquals(method, zeroLengthPayload.getMethod());
assertEquals("0", zeroLengthPayload.getHeader("content-length"));
assertEquals(0L, zeroLengthPayload.getBodySize());
}
use of okhttp3.mockwebserver.RecordedRequest in project okhttp by square.
the class URLConnectionTest method testAuthenticateWithStreamingPost.
private void testAuthenticateWithStreamingPost(StreamingMode streamingMode) throws Exception {
MockResponse pleaseAuthenticate = new MockResponse().setResponseCode(401).addHeader("WWW-Authenticate: Basic realm=\"protected area\"").setBody("Please authenticate.");
server.enqueue(pleaseAuthenticate);
Authenticator.setDefault(new RecordingAuthenticator());
urlFactory.setClient(urlFactory.client().newBuilder().authenticator(new JavaNetAuthenticator()).build());
connection = urlFactory.open(server.url("/").url());
connection.setDoOutput(true);
byte[] requestBody = { 'A', 'B', 'C', 'D' };
if (streamingMode == StreamingMode.FIXED_LENGTH) {
connection.setFixedLengthStreamingMode(requestBody.length);
} else if (streamingMode == StreamingMode.CHUNKED) {
connection.setChunkedStreamingMode(0);
}
OutputStream outputStream = connection.getOutputStream();
outputStream.write(requestBody);
outputStream.close();
try {
connection.getInputStream();
fail();
} catch (HttpRetryException expected) {
}
// no authorization header for the request...
RecordedRequest request = server.takeRequest();
assertNull(request.getHeader("Authorization"));
assertEquals("ABCD", request.getBody().readUtf8());
}
Aggregations