private Observable<Session> stopInternal(String identifier, Long timeout, TimeUnit timeUnit) { return Single.create(new SessionStopSingle(rxFit, identifier, timeout, timeUnit)) .flatMapObservable(Observable::fromIterable); }
@Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, final SingleEmitter<List<Session>> subscriber) { setupFitnessPendingResult( Fitness.SessionsApi.stopSession(apiClient, identifier), SingleResultCallBack.get(subscriber, SessionStopResult::getSessions) ); } }
@Test public void SessionStopObservable_StatusException() { String identifier = "identifier"; SessionStopResult sessionStopResult = Mockito.mock(SessionStopResult.class); SessionStopSingle single = PowerMockito.spy(new SessionStopSingle(rxFit, identifier, null, null)); List<Session> sessionList = new ArrayList<>(); sessionList.add(session); when(sessionStopResult.getSessions()).thenReturn(sessionList); setPendingResultValue(sessionStopResult); when(sessionStopResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(false); when(sessionsApi.stopSession(apiClient, identifier)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertError(Single.create(single).test(), StatusException.class); }
@Test public void SessionStopObservable_Success() { String identifier = "identifier"; SessionStopResult sessionStopResult = Mockito.mock(SessionStopResult.class); SessionStopSingle single = PowerMockito.spy(new SessionStopSingle(rxFit, identifier, null, null)); List<Session> sessionList = new ArrayList<>(); sessionList.add(session); when(sessionStopResult.getSessions()).thenReturn(sessionList); setPendingResultValue(sessionStopResult); when(sessionStopResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(true); when(sessionsApi.stopSession(apiClient, identifier)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertSingleValue(Single.create(single).test(), sessionList); }