@Test
public void testBackoffOneTime1() throws Exception {
mockWebServer.setDispatcher(new Dispatcher() {
@Override
public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
if (mockWebServer.getRequestCount() == 1) {
return new MockResponse().setResponseCode(500);
} else if (mockWebServer.getRequestCount() == 2) {
return MockWebServerUtils.getSuccessfulResponse();
}
return new MockResponse().setResponseCode(404);
}
});
RxCallAdapter rxCallAdapter = new RxCallAdapter.Builder()
.addBackoffStrategy(Exponential.init()
.addThrowable(HttpException.class)
.setMaxRetries(3).build())
.build();
GitHub github = createRetrofitInstance(mockWebServer.url("/").toString(),
new RxErrorHandingFactory(rxCallAdapter));
Observable observable = github.repos("square");
TestObserver testObserver = observable.test();
testObserver.awaitTerminalEvent();
assertEquals(1, testObserver.valueCount());
}
ExponentialBackoffTest.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:RetrofitRxErrorHandler
作者:
评论列表
文章目录