/**
* Test shows the usage of backup `Observable`. Checks if successful response is passed to
* `Subscriber` even if backup `Observable` is invoked and it does not emits any elements.
* <br>
* Test created by Robert Zagorski on 19.10.2016
*/
@Test
public void testBackupObservable5() throws Exception {
mockWebServer.setDispatcher(new Dispatcher() {
@Override
public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
if (mockWebServer.getRequestCount() == 1) {
return new MockResponse().setResponseCode(404);
} else if (mockWebServer.getRequestCount() > 1) {
return MockWebServerUtils.getSuccessfulResponse();
}
return new MockResponse().setResponseCode(500);
}
});
Observable<Boolean> backupObservable = Observable.empty();
RxCallAdapter rxCallAdapter = new RxCallAdapter.Builder()
.addBackoffStrategy(Exponential.init()
.addHttpCode(404)
.addObservable(backupObservable)
.setBase(2)
.setMaxRetries(3)
.build())
.setLoggingEnabled(true)
.build();
GitHub github = createRetrofitInstance(mockWebServer.url("/").toString(),
new RxErrorHandingFactory(rxCallAdapter));
Observable observable = github.repos("square");
TestObserver testObserver = observable.test();
testObserver.awaitTerminalEvent();
testObserver.assertComplete();
}
CommonBackoffTest.java 文件源码
java
阅读 19
收藏 0
点赞 0
评论 0
项目:RetrofitRxErrorHandler
作者:
评论列表
文章目录