private Observable<Subscription> listSubscriptionsInternal(DataType dataType, Long timeout, TimeUnit timeUnit) { return Single.create(new RecordingListSubscriptionsSingle(rxFit, dataType, timeout, timeUnit)) .flatMapObservable(Observable::fromIterable); }
@Override protected void onGoogleApiClientReady(GoogleApiClient apiClient, final SingleEmitter<List<Subscription>> subscriber) { ResultCallback<ListSubscriptionsResult> resultCallback = SingleResultCallBack.get(subscriber, ListSubscriptionsResult::getSubscriptions); if(dataType == null) { setupFitnessPendingResult(Fitness.RecordingApi.listSubscriptions(apiClient), resultCallback); } else { setupFitnessPendingResult(Fitness.RecordingApi.listSubscriptions(apiClient, dataType), resultCallback); } } }
@Test public void RecordingListSubscriptionsObservable_WithDataType_Success() { RecordingListSubscriptionsSingle single = PowerMockito.spy(new RecordingListSubscriptionsSingle(rxFit, dataType, null, null)); ListSubscriptionsResult listSubscriptionsResult = Mockito.mock(ListSubscriptionsResult.class); List<Subscription> subscriptionList = new ArrayList<>(); subscriptionList.add(Mockito.mock(Subscription.class)); when(listSubscriptionsResult.getSubscriptions()).thenReturn(subscriptionList); setPendingResultValue(listSubscriptionsResult); when(listSubscriptionsResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(true); when(recordingApi.listSubscriptions(apiClient, dataType)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertSingleValue(Single.create(single).test(), subscriptionList); }
@Test public void RecordingListSubscriptionsObservable_StatusException() { RecordingListSubscriptionsSingle single = PowerMockito.spy(new RecordingListSubscriptionsSingle(rxFit, null, null, null)); ListSubscriptionsResult listSubscriptionsResult = Mockito.mock(ListSubscriptionsResult.class); List<Subscription> subscriptionList = new ArrayList<>(); subscriptionList.add(Mockito.mock(Subscription.class)); when(listSubscriptionsResult.getSubscriptions()).thenReturn(subscriptionList); setPendingResultValue(listSubscriptionsResult); when(listSubscriptionsResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(false); when(recordingApi.listSubscriptions(apiClient)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertError(Single.create(single).test(), StatusException.class); }
@Test public void RecordingListSubscriptionsObservable_WithDataType_StatusException() { RecordingListSubscriptionsSingle single = PowerMockito.spy(new RecordingListSubscriptionsSingle(rxFit, dataType, null, null)); ListSubscriptionsResult listSubscriptionsResult = Mockito.mock(ListSubscriptionsResult.class); List<Subscription> subscriptionList = new ArrayList<>(); subscriptionList.add(subscription); when(listSubscriptionsResult.getSubscriptions()).thenReturn(subscriptionList); setPendingResultValue(listSubscriptionsResult); when(listSubscriptionsResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(false); when(recordingApi.listSubscriptions(apiClient, dataType)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertError(Single.create(single).test(), StatusException.class); }
@Test public void RecordingListSubscriptionsObservable_Success() { RecordingListSubscriptionsSingle single = PowerMockito.spy(new RecordingListSubscriptionsSingle(rxFit, null, null, null)); ListSubscriptionsResult listSubscriptionsResult = Mockito.mock(ListSubscriptionsResult.class); List<Subscription> subscriptionList = new ArrayList<>(); subscriptionList.add(Mockito.mock(Subscription.class)); when(listSubscriptionsResult.getSubscriptions()).thenReturn(subscriptionList); setPendingResultValue(listSubscriptionsResult); when(listSubscriptionsResult.getStatus()).thenReturn(status); when(status.isSuccess()).thenReturn(true); when(recordingApi.listSubscriptions(apiClient)).thenReturn(pendingResult); setupBaseSingleSuccess(single); assertSingleValue(Single.create(single).test(), subscriptionList); }