@Test public void BaseObservable_ApiClient_ConnectionFailed_Resolution() { final Object object = new Object(); BaseSingle<Object> single = spy(new BaseSingle<Object>(rxFit, null, null) { @Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, SingleEmitter<? super Object> subscriber) { subscriber.onSuccess(object); } }); doReturn(true).when(connectionResult).hasResolution(); doAnswer(invocation -> { BaseRx.ApiClientConnectionCallbacks callbacks = invocation.getArgumentAt(0, BaseRx.ApiClientConnectionCallbacks.class); callbacks.setClient(apiClient); callbacks.onConnectionFailed(connectionResult); return apiClient; }).when(single).createApiClient(Matchers.any(BaseRx.ApiClientConnectionCallbacks.class)); TestObserver<Object> sub = Single.create(single).test(); sub.assertNoValues(); sub.assertNotTerminated(); verify(ctx).startActivity(Matchers.any(Intent.class)); }
@Test public void BaseObservable_ApiClient_ConnectionFailed_Resolution() { final Object object = new Object(); BaseObservable<Object> observable = spy(new BaseObservable<Object>(rxFit, null, null) { @Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, ObservableEmitter<? super Object> subscriber) { subscriber.onNext(object); subscriber.onComplete(); } }); doReturn(true).when(connectionResult).hasResolution(); doAnswer(invocation -> { BaseRx.ApiClientConnectionCallbacks callbacks = invocation.getArgumentAt(0, BaseRx.ApiClientConnectionCallbacks.class); callbacks.setClient(apiClient); callbacks.onConnectionFailed(connectionResult); return apiClient; }).when(observable).createApiClient(Matchers.any(BaseRx.ApiClientConnectionCallbacks.class)); TestObserver<Object> sub = Observable.create(observable).test(); sub.assertNoValues(); sub.assertNotTerminated(); verify(ctx).startActivity(Matchers.any(Intent.class)); }
@Test public void BaseObservable_ApiClient_ConnectionFailed_NoResulution() { final Object object = new Object(); BaseObservable<Object> observable = spy(new BaseObservable<Object>(ctx, new Api[] {}, null) { @Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, ObservableEmitter<? super Object> subscriber) { subscriber.onNext(object); subscriber.onComplete(); } }); doReturn(false).when(connectionResult).hasResolution(); doAnswer(invocation -> { BaseRx.ApiClientConnectionCallbacks callbacks = invocation.getArgumentAt(0, BaseRx.ApiClientConnectionCallbacks.class); callbacks.setClient(apiClient); callbacks.onConnectionFailed(connectionResult); return apiClient; }).when(observable).createApiClient(Matchers.any(BaseRx.ApiClientConnectionCallbacks.class)); TestObserver<Object> sub = Observable.create(observable).test(); sub.assertNoValues(); sub.assertError(GoogleAPIConnectionException.class); }
@Test public void BaseObservable_ApiClient_ConnectionFailed_NoResulution() { final Object object = new Object(); BaseSingle<Object> single = spy(new BaseSingle<Object>(ctx, new Api[] {}, null) { @Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, SingleEmitter<? super Object> subscriber) { subscriber.onSuccess(object); } }); doReturn(false).when(connectionResult).hasResolution(); doAnswer(invocation -> { BaseRx.ApiClientConnectionCallbacks callbacks = invocation.getArgumentAt(0, BaseRx.ApiClientConnectionCallbacks.class); callbacks.setClient(apiClient); callbacks.onConnectionFailed(connectionResult); return apiClient; }).when(single).createApiClient(Matchers.any(BaseRx.ApiClientConnectionCallbacks.class)); TestObserver<Object> sub = Single.create(single).test(); sub.assertNoValues(); sub.assertError(GoogleAPIConnectionException.class); }