public Completable checkConnection() { return Completable.fromObservable(Observable.create(new CheckConnectionObservable(this))); }
@Test public void CheckConnectionCompletable_Resolution_Success_ResumeNext_Error() { ConnectionResult connectionResult = Mockito.mock(ConnectionResult.class); final CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); setupBaseObservableResolution(observable, apiClient); TestObserver<Void> sub = Completable.fromObservable(Observable.create(observable).compose(RxFitOnExceptionResumeNext.with(Observable.empty()))).test(); doAnswer(invocation -> { observable.onGoogleApiClientReady(apiClient, getSubscriber(observable, apiClient)); return null; }).when(apiClient).connect(); Error error = new Error("Generic error"); doThrow(error).when(observable).onGoogleApiClientReady(Matchers.any(GoogleApiClient.class), Matchers.any(ObservableEmitter.class)); BaseObservable.onResolutionResult(Activity.RESULT_OK, connectionResult); sub.assertError(throwable -> ((CompositeException)throwable).getExceptions().get(0) == error); sub.assertNoValues(); }
@Test public void CheckConnectionCompletable_Resolution_Error_ResumeNext_Resolution_Success() { ConnectionResult connectionResult = Mockito.mock(ConnectionResult.class); final CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); setupBaseObservableResolution(observable, apiClient); TestObserver<Void> sub = Completable.fromObservable(Observable.create(observable).compose(RxFitOnExceptionResumeNext.with(Observable.empty()))).test(); when(connectionResult.hasResolution()).thenReturn(true); BaseObservable.onResolutionResult(Activity.RESULT_CANCELED, connectionResult); sub.assertError(throwable -> ((CompositeException)throwable).getExceptions().get(0) instanceof GoogleAPIConnectionException); sub.assertNoValues(); }
@Test public void CheckConnectionCompletable_Resolution_Success() { final GoogleApiClient apiClient2 = Mockito.mock(GoogleApiClient.class); final CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); Completable completable = Completable.fromObservable(Observable.create(observable)); setupBaseObservableResolution(observable, apiClient); TestObserver<Void> sub1 = completable.test(); setupBaseObservableResolution(observable, apiClient2); TestObserver<Void> sub2 = completable.test(); doAnswer(invocation -> { observable.onGoogleApiClientReady(apiClient, getSubscriber(observable, apiClient)); return null; }).when(apiClient).connect(); doAnswer(invocation -> { observable.onGoogleApiClientReady(apiClient2, getSubscriber(observable, apiClient2)); return null; }).when(apiClient2).connect(); BaseRx.onResolutionResult(Activity.RESULT_OK, Mockito.mock(ConnectionResult.class)); sub1.assertComplete(); sub1.assertNoValues(); sub2.assertComplete(); sub2.assertNoValues(); }
@Test public void CheckConnectionCompletable_Resolution_Error_ResumeNext_NoResolution_Success() { ConnectionResult connectionResult = Mockito.mock(ConnectionResult.class); final CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); setupBaseObservableResolution(observable, apiClient); TestObserver<Void> sub = Completable.fromObservable(Observable.create(observable).compose(RxFitOnExceptionResumeNext.with(Observable.empty()))).test(); when(connectionResult.hasResolution()).thenReturn(false); BaseObservable.onResolutionResult(Activity.RESULT_CANCELED, connectionResult); sub.assertComplete(); sub.assertNoValues(); }
@Test public void CheckConnectionCompletable_Resolution_Error() { final GoogleApiClient apiClient2 = Mockito.mock(GoogleApiClient.class); final CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); Completable completable = Completable.fromObservable(Observable.create(observable)); setupBaseObservableResolution(observable, apiClient); TestObserver<Void> sub1 = completable.test(); setupBaseObservableResolution(observable, apiClient2); TestObserver<Void> sub2 = completable.test(); BaseObservable.onResolutionResult(Activity.RESULT_CANCELED, Mockito.mock(ConnectionResult.class)); sub1.assertError(GoogleAPIConnectionException.class); sub1.assertNoValues(); sub2.assertError(GoogleAPIConnectionException.class); sub2.assertNoValues(); }
@Test public void CheckConnectionCompletable_Error() { CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); setupBaseObservableError(observable); TestObserver<Void> sub = Completable.fromObservable(Observable.create(observable)).test(); sub.assertError(GoogleAPIConnectionException.class); sub.assertNoValues(); }
@Test public void CheckConnectionCompletable_Success() { CheckConnectionObservable observable = PowerMockito.spy(new CheckConnectionObservable(rxFit)); setupBaseObservableSuccess(observable); TestObserver<Void> sub = Completable.fromObservable(Observable.create(observable)).test(); sub.assertComplete(); sub.assertNoValues(); }