From 232785a9aa8a4441129d74a08066bcb848153df3 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 31 Jan 2020 14:04:33 -0500 Subject: [PATCH] deps: update http client (#1482) * update http client * remove unneeded dependencies * add comment --- .../googleapis/batch/BatchRequestTest.java | 92 ++++++++++--------- pom.xml | 10 +- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/google-api-client/src/test/java/com/google/api/client/googleapis/batch/BatchRequestTest.java b/google-api-client/src/test/java/com/google/api/client/googleapis/batch/BatchRequestTest.java index 371cec10e..944d3972d 100644 --- a/google-api-client/src/test/java/com/google/api/client/googleapis/batch/BatchRequestTest.java +++ b/google-api-client/src/test/java/com/google/api/client/googleapis/batch/BatchRequestTest.java @@ -480,7 +480,7 @@ private BatchRequest getBatchPopulatedWithRequests(boolean testServerError, boolean returnSuccessAuthenticatedContent, boolean testRedirect, boolean testBinary, - boolean testMissingLength) throws Exception { + boolean testMissingLength) throws IOException { transport = new MockTransport(testServerError, testAuthenticationError, testRedirect, @@ -540,7 +540,7 @@ public void testQueueDatastructures() throws Exception { assertEquals(METHOD2, requestInfos.get(1).request.getRequestMethod()); } - public void testExecute() throws Exception { + public void testExecute() throws IOException { BatchRequest batchRequest = getBatchPopulatedWithRequests(false, false, false, false, false, false); batchRequest.execute(); @@ -552,7 +552,7 @@ public void testExecute() throws Exception { assertTrue(batchRequest.requestInfos.isEmpty()); } - public void testExecuteWithError() throws Exception { + public void testExecuteWithError() throws IOException { BatchRequest batchRequest = getBatchPopulatedWithRequests(true, false, false, false, false, false); batchRequest.execute(); @@ -582,7 +582,7 @@ public void testExecuteWithVoidCallbackError() throws Exception { assertEquals(1, callback3.failureCalls); } - public void subTestExecuteWithVoidCallback(boolean testServerError) throws Exception { + public void subTestExecuteWithVoidCallback(boolean testServerError) throws IOException { MockTransport transport = new MockTransport(testServerError, false,false, false, false); MockGoogleClient client = new MockGoogleClient.Builder( transport, ROOT_URL, SERVICE_PATH, null, null).setApplicationName("Test Application") @@ -661,29 +661,34 @@ public void testExecute_checkWriteTo() throws Exception { String request2Method = HttpMethods.GET; String request2Url = "http://test/dummy/url2"; - - final StringBuilder expectedOutput = new StringBuilder(); - expectedOutput.append("--__END_OF_PART__\r\n"); - expectedOutput.append("Content-Length: 118\r\n"); - expectedOutput.append("Content-Type: application/http\r\n"); - expectedOutput.append("content-id: 1\r\n"); - expectedOutput.append("content-transfer-encoding: binary\r\n"); - expectedOutput.append("\r\n"); - expectedOutput.append("POST http://test/dummy/url1 HTTP/1.1\r\n"); - expectedOutput.append("Content-Length: 26\r\n"); - expectedOutput.append("Content-Type: " + request1ContentType + "\r\n"); - expectedOutput.append("\r\n"); - expectedOutput.append(request1Content + "\r\n"); - expectedOutput.append("--__END_OF_PART__\r\n"); - expectedOutput.append("Content-Length: 39\r\n"); - expectedOutput.append("Content-Type: application/http\r\n"); - expectedOutput.append("content-id: 2\r\n"); - expectedOutput.append("content-transfer-encoding: binary\r\n"); - expectedOutput.append("\r\n"); - expectedOutput.append("GET http://test/dummy/url2 HTTP/1.1\r\n"); - expectedOutput.append("\r\n"); - expectedOutput.append("\r\n"); - expectedOutput.append("--__END_OF_PART__--\r\n"); + + // MIME content boundaries are not reproducible. + StringBuilder part1 = new StringBuilder(); + part1.append("Content-Length: 118\r\n"); + part1.append("Content-Type: application/http\r\n"); + part1.append("content-id: 1\r\n"); + part1.append("content-transfer-encoding: binary\r\n"); + part1.append("\r\n"); + part1.append("POST http://test/dummy/url1 HTTP/1.1\r\n"); + part1.append("Content-Length: 26\r\n"); + part1.append("Content-Type: " + request1ContentType + "\r\n"); + part1.append("\r\n"); + part1.append(request1Content + "\r\n"); + part1.append("--__END_OF_PART__"); + String expected1 = part1.toString(); + + StringBuilder part2 = new StringBuilder(); + part2.append("Content-Length: 39\r\n"); + part2.append("Content-Type: application/http\r\n"); + part2.append("content-id: 2\r\n"); + part2.append("content-transfer-encoding: binary\r\n"); + part2.append("\r\n"); + part2.append("GET http://test/dummy/url2 HTTP/1.1\r\n"); + part2.append("\r\n"); + part2.append("\r\n"); + part2.append("--__END_OF_PART__"); + String expected2 = part2.toString(); + MockHttpTransport transport = new MockHttpTransport(); HttpRequest request1 = transport @@ -694,11 +699,11 @@ public void testExecute_checkWriteTo() throws Exception { new ByteArrayContent(request1ContentType, request1Content.getBytes(UTF_8))); HttpRequest request2 = transport.createRequestFactory() .buildRequest(request2Method, new GenericUrl(request2Url), null); - subtestExecute_checkWriteTo(expectedOutput.toString(), request1, request2); + subtestExecute_checkWriteTo(expected1, expected2, request1, request2); } - private void subtestExecute_checkWriteTo(final String expectedOutput, HttpRequest... requests) - throws IOException { + private void subtestExecute_checkWriteTo( + final String part1, final String part2, HttpRequest... requests) throws IOException { MockHttpTransport transport = new MockHttpTransport() { @@ -708,10 +713,12 @@ public LowLevelHttpRequest buildRequest(String method, String url) { @Override public LowLevelHttpResponse execute() throws IOException { - assertEquals("multipart/mixed; boundary=__END_OF_PART__", getContentType()); + assertTrue(getContentType().startsWith("multipart/mixed; boundary=__END_OF_PART__")); ByteArrayOutputStream out = new ByteArrayOutputStream(); getStreamingContent().writeTo(out); - assertEquals(expectedOutput, out.toString("UTF-8")); + String actual = out.toString("UTF-8"); + assertTrue(actual + "\n does not contain \n" + part1, actual.contains(part1)); + assertTrue(actual.contains(part2)); MockLowLevelHttpResponse response = new MockLowLevelHttpResponse(); response.setStatusCode(200); response.addHeader("Content-Type", "multipart/mixed; boundary=" + RESPONSE_BOUNDARY); @@ -748,9 +755,9 @@ public void onFailure(Void e, HttpHeaders responseHeaders) { batchRequest.execute(); } - public void testExecute_checkWriteToNoHeaders() throws Exception { + public void testExecute_checkWriteToNoHeaders() throws IOException { MockHttpTransport transport = new MockHttpTransport(); - HttpRequest request1 = transport.createRequestFactory() + HttpRequest request = transport.createRequestFactory() .buildPostRequest(HttpTesting.SIMPLE_GENERIC_URL, new HttpContent() { @Override @@ -772,14 +779,15 @@ public boolean retrySupported() { return true; } }); - subtestExecute_checkWriteTo(new StringBuilder().append("--__END_OF_PART__\r\n") - .append("Content-Length: 36\r\n").append("Content-Type: application/http\r\n") - .append("content-id: 1\r\n").append("content-transfer-encoding: binary\r\n").append("\r\n") - .append("POST http://google.com/ HTTP/1.1\r\n").append("\r\n").append("\r\n") - .append("--__END_OF_PART__--\r\n").toString(), request1); + String expected = new StringBuilder() + .append("Content-Length: 36\r\n").append("Content-Type: application/http\r\n") + .append("content-id: 1\r\n").append("content-transfer-encoding: binary\r\n").append("\r\n") + .append("POST http://google.com/ HTTP/1.1\r\n").append("\r\n").append("\r\n") + .append("--__END_OF_PART__").toString(); + subtestExecute_checkWriteTo(expected, expected, request); } - public void testProtoExecute() throws Exception { + public void testProtoExecute() throws IOException { BatchRequest batchRequest = getBatchPopulatedWithRequests(false, false, false, false, true, false); batchRequest.execute(); @@ -791,7 +799,7 @@ public void testProtoExecute() throws Exception { assertTrue(batchRequest.requestInfos.isEmpty()); } - public void testProtoExecuteWithError() throws Exception { + public void testProtoExecuteWithError() throws IOException { BatchRequest batchRequest = getBatchPopulatedWithRequests(true, false, false, false, true, false); batchRequest.execute(); @@ -805,7 +813,7 @@ public void testProtoExecuteWithError() throws Exception { assertEquals(1, transport.actualCalls); } - public void testProtoExecuteWithoutLength() throws Exception { + public void testProtoExecuteWithoutLength() throws IOException { BatchRequest batchRequest = getBatchPopulatedWithRequests(false, false, false, false, true, true); batchRequest.execute(); diff --git a/pom.xml b/pom.xml index e0d22f6b3..606b82b9e 100644 --- a/pom.xml +++ b/pom.xml @@ -121,11 +121,6 @@ xpp3 ${project.xpp3.version} - - org.apache.httpcomponents - httpclient - ${project.httpclient.version} - com.google.guava guava @@ -480,10 +475,9 @@ - google-oauth-java-client/google-oauth-client-assembly/android-properties (make the filenames match the version here) - google-http-java-client/pom.xml (versions must match) - google-http-java-client/google-http-client-assembly/android-properties (make the filenames match the version here) - - Internally, update the default features.json file --> UTF-8 - 1.34.0 + 1.34.1 1.30.5 3.0.2 2.8.6 @@ -491,8 +485,6 @@ 28.2-android 1.9.77 1.1.4c - 4.5.10 - 4.4.12 2.3-eb 3.2.2 3.2.1