@Test public void backsOffForServiceUnavailable() { final HttpResponse resp = new BasicHttpResponse( HttpVersion.HTTP_1_1, HttpStatus.SC_SERVICE_UNAVAILABLE, "Service Unavailable"); assertTrue(impl.shouldBackoff(resp)); }
@Test public void doesNotBackOffForNon503StatusCodes() { for (int i = 100; i <= 599; i++) { if (i == HttpStatus.SC_SERVICE_UNAVAILABLE) { continue; } final HttpResponse resp = new BasicHttpResponse(HttpVersion.HTTP_1_1, i, "Foo"); assertFalse(impl.shouldBackoff(resp)); } }
@Test public void backsOffForConnectionTimeouts() { assertTrue(impl.shouldBackoff(new ConnectException())); }
@Test public void doesNotBackOffForConnectionManagerTimeout() { assertFalse(impl.shouldBackoff(new ConnectionPoolTimeoutException())); }
@Test public void backsOffForSocketTimeouts() { assertTrue(impl.shouldBackoff(new SocketTimeoutException())); }