Here are the examples of the java api class com.google.api.client.testing.util.MockBackOff taken from open source projects.
1. BackOffUtilsTest#subtestNext()
Project: google-http-java-client
File: BackOffUtilsTest.java
File: BackOffUtilsTest.java
public void subtestNext(long millis) throws Exception { MockSleeper sleeper = new MockSleeper(); MockBackOff backOff = new MockBackOff().setBackOffMillis(millis); if (millis == BackOff.STOP) { backOff.setMaxTries(0); } int retries = 0; while (retries <= backOff.getMaxTries() + 1) { boolean next = BackOffUtils.next(sleeper, backOff); assertEquals(retries < backOff.getMaxTries(), next); if (next) { retries++; } assertEquals(retries, sleeper.getCount()); assertEquals(retries, backOff.getNumberOfTries()); if (!next) { break; } assertEquals(millis, sleeper.getLastMillis()); } }
2. HttpRequestTest#testBackOffUnsucessfulResponseStop()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testBackOffUnsucessfulResponseStop() throws Exception { int callsBeforeSuccess = 5; FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, callsBeforeSuccess); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); MockBackOff backOff = new MockBackOff().setMaxTries(1); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); try { req.execute(); } catch (HttpResponseException e) { } Assert.assertEquals(2, fakeTransport.lowLevelExecCalls); // The back-off should be called only once, since the its max tries is set to 1 Assert.assertEquals(1, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }
3. HttpRequestTest#testBackOffUnsuccessfulReponseUnRecognizedStatusCode()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testBackOffUnsuccessfulReponseUnRecognizedStatusCode() throws Exception { FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED, 1); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); try { req.execute(); } catch (HttpResponseException e) { } Assert.assertEquals(1, fakeTransport.lowLevelExecCalls); // The back-off should not be called since it does not support 401 status codes. Assert.assertEquals(0, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }
4. HttpRequestTest#testBackOffUnsuccessfulReponseCallsBeyondRetryLimit()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testBackOffUnsuccessfulReponseCallsBeyondRetryLimit() throws Exception { int callsBeforeSuccess = 11; FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, callsBeforeSuccess); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); req.setNumberOfRetries(callsBeforeSuccess - 1); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); try { req.execute(); fail("expected HttpResponseException"); } catch (HttpResponseException e) { } Assert.assertEquals(callsBeforeSuccess, fakeTransport.lowLevelExecCalls); Assert.assertEquals(callsBeforeSuccess - 1, backOff.getMaxTries()); Assert.assertTrue(handler.isCalled()); }
5. HttpRequestTest#testBackOffUnsucessfulReponseMultipleCalls()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testBackOffUnsucessfulReponseMultipleCalls() throws Exception { int callsBeforeSuccess = 5; FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, callsBeforeSuccess); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); HttpResponse resp = req.execute(); Assert.assertEquals(200, resp.getStatusCode()); Assert.assertEquals(callsBeforeSuccess + 1, fakeTransport.lowLevelExecCalls); Assert.assertEquals(callsBeforeSuccess, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }
6. HttpRequestTest#testBackOffUnsuccessfulResponseSingleCall()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testBackOffUnsuccessfulResponseSingleCall() throws Exception { FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, 1); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); HttpResponse resp = req.execute(); Assert.assertEquals(200, resp.getStatusCode()); Assert.assertEquals(2, fakeTransport.lowLevelExecCalls); Assert.assertEquals(1, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }
7. HttpRequestTest#testAbnormalResponseHandlerWithBackOffUnsuccessfulResponseHandler()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void testAbnormalResponseHandlerWithBackOffUnsuccessfulResponseHandler() throws Exception { FailThenSuccessBackoffTransport fakeTransport = new FailThenSuccessBackoffTransport(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, 1); MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(true); HttpRequest req = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://not/used")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(req, backOff, handler); HttpResponse resp = req.execute(); Assert.assertEquals(200, resp.getStatusCode()); Assert.assertEquals(2, fakeTransport.lowLevelExecCalls); Assert.assertEquals(0, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }
8. HttpRequestTest#test301RedirectWithBackOffUnsuccessfulResponseNotHandled()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void test301RedirectWithBackOffUnsuccessfulResponseNotHandled() throws Exception { // Create an Unsuccessful response handler that always returns false. MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(false); // Set up RedirectTransport to redirect on the first request and then return success. RedirectTransport fakeTransport = new RedirectTransport(); HttpRequest request = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://gmail.com")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(request, backOff, handler); HttpResponse resp = request.execute(); Assert.assertEquals(200, resp.getStatusCode()); // Assert that the redirect logic was invoked because the response handler could not handle the // request. The request url should have changed from http://gmail.com to http://google.com Assert.assertEquals(HttpTesting.SIMPLE_URL, request.getUrl().toString()); Assert.assertEquals(2, fakeTransport.lowLevelExecCalls); // Assert that the backoff was not invoked since it's not required for 3xx errors Assert.assertEquals(0, backOff.getNumberOfTries()); }
9. HttpRequestTest#test301RedirectWithBackOffUnsuccessfulResponseHandled()
Project: google-http-java-client
File: HttpRequestTest.java
File: HttpRequestTest.java
public void test301RedirectWithBackOffUnsuccessfulResponseHandled() throws Exception { MockHttpUnsuccessfulResponseHandler handler = new MockHttpUnsuccessfulResponseHandler(true); // Set up RedirectTransport to redirect on the first request and then return success. RedirectTransport fakeTransport = new RedirectTransport(); HttpRequest request = fakeTransport.createRequestFactory().buildGetRequest(new GenericUrl("http://gmail.com")); MockBackOff backOff = new MockBackOff(); setBackOffUnsuccessfulResponseHandler(request, backOff, handler); HttpResponse resp = request.execute(); Assert.assertEquals(200, resp.getStatusCode()); Assert.assertEquals(2, fakeTransport.lowLevelExecCalls); // Assert that the redirect logic was not invoked because the response handler could handle the // request. The request url should be the original http://gmail.com Assert.assertEquals("http://gmail.com", request.getUrl().toString()); // Assert that the backoff was not invoked since the response handler could handle the request Assert.assertEquals(0, backOff.getNumberOfTries()); Assert.assertTrue(handler.isCalled()); }