From de5d7d250848b0db4119f362e2e700cb19e02293 Mon Sep 17 00:00:00 2001 From: Jesse Wilson Date: Tue, 27 Sep 2011 19:23:13 -0400 Subject: [PATCH] Test to demonstrate NPE in DefaultRequestDirector When the HTTP client encountered a server failure while talking through a proxy, it fails with an NullPointerException and not an IOException. Change-Id: I4b287105bf78b832d034557e37e74ce576c7894d Bug: http://b/5372438 --- .../src/android/net/http/AbstractProxyTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/tests/coretests/src/android/net/http/AbstractProxyTest.java b/core/tests/coretests/src/android/net/http/AbstractProxyTest.java index ee4ce95202fde..48912329438db 100644 --- a/core/tests/coretests/src/android/net/http/AbstractProxyTest.java +++ b/core/tests/coretests/src/android/net/http/AbstractProxyTest.java @@ -219,6 +219,23 @@ public abstract class AbstractProxyTest extends TestCase { assertEquals("GET /bar HTTP/1.1", recordedRequest.getRequestLine()); } + // http://b/5372438 + public void testRetryWithProxy() throws Exception { + server.enqueue(new MockResponse() + .setSocketPolicy(SocketPolicy.DISCONNECT_AT_START)); + server.play(); + + HttpClient httpProxyClient = newHttpClient(); + HttpGet request = new HttpGet("http://android.com/foo"); + ProxyConfig.REQUEST_PARAMETER.configure(server, httpProxyClient, request); + + try { + httpProxyClient.execute(request); + fail(); + } catch (IOException expected) { + } + } + enum ProxyConfig { PROXY_SYSTEM_PROPERTY() { @Override void configure(MockWebServer server, HttpClient client, HttpRequest request) {