hardAssert( reason == DatabaseError.WRITE_CANCELED, "Unknown transaction abort reason: " + reason); abortError = DatabaseError.fromCode(DatabaseError.WRITE_CANCELED);
@Test public void testObserveSingleValue_Disconnected() { TestSubscriber<TestData> testSubscriber = new TestSubscriber<>(); RxFirebaseDatabase.observeSingleValueEvent(mockDatabase, TestData.class) .subscribeOn(Schedulers.immediate()) .subscribe(testSubscriber); ArgumentCaptor<ValueEventListener> argument = ArgumentCaptor.forClass(ValueEventListener.class); verify(mockDatabase).addListenerForSingleValueEvent(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.DISCONNECTED)); testSubscriber.assertError(RxFirebaseDataException.class); testSubscriber.assertNotCompleted(); testSubscriber.unsubscribe(); }
@Test public void testObserveChildEventCancelled() { TestSubscriber<RxFirebaseChildEvent<ChildData>> testObserver = RxFirebaseDatabase .observeChildEvent(databaseReference, ChildData.class) .test(); ArgumentCaptor<ChildEventListener> argument = ArgumentCaptor.forClass(ChildEventListener.class); verify(databaseReference).addChildEventListener(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.DISCONNECTED)); testObserver.assertError(RxFirebaseDataException.class) .assertNotComplete() .dispose(); }
@Test public void testObserveChildEvent_Cancelled() { TestSubscriber<RxFirebaseChildEvent<TestData>> testSubscriber = new TestSubscriber<>(); RxFirebaseDatabase.observeChildEvent(mockDatabase, TestData.class) .subscribeOn(Schedulers.immediate()) .subscribe(testSubscriber); ArgumentCaptor<ChildEventListener> argument = ArgumentCaptor.forClass(ChildEventListener.class); verify(mockDatabase).addChildEventListener(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.DISCONNECTED)); testSubscriber.assertError(RxFirebaseDataException.class); testSubscriber.assertNotCompleted(); testSubscriber.unsubscribe(); }
@Test public void testObserveSingleValueDisconnected() { TestObserver<ChildData> testObserver = RxFirebaseDatabase .observeSingleValueEvent(databaseReference, ChildData.class) .test(); ArgumentCaptor<ValueEventListener> argument = ArgumentCaptor.forClass(ValueEventListener.class); verify(databaseReference).addListenerForSingleValueEvent(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.DISCONNECTED)); testObserver.assertError(RxFirebaseDataException.class) .assertNotComplete() .dispose(); }
@Test public void testObserveSingleValueEventFailed() { TestObserver<ChildData> testObserver = RxFirebaseDatabase .observeSingleValueEvent(databaseReference, ChildData.class) .test(); ArgumentCaptor<ValueEventListener> argument = ArgumentCaptor.forClass(ValueEventListener.class); verify(databaseReference).addListenerForSingleValueEvent(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.OPERATION_FAILED)); testObserver.assertError(RxFirebaseDataException.class) .assertNotComplete() .dispose(); }
@Test public void testObserveSingleValueEvent_Failed() { TestSubscriber<List<TestData>> testSubscriber = new TestSubscriber<>(); RxFirebaseDatabase.observeSingleValueEvent(mockDatabase, TestData.class) .subscribeOn(Schedulers.immediate()) .toList() .subscribe(testSubscriber); ArgumentCaptor<ValueEventListener> argument = ArgumentCaptor.forClass(ValueEventListener.class); verify(mockDatabase).addListenerForSingleValueEvent(argument.capture()); argument.getValue().onCancelled(DatabaseError.fromCode(DatabaseError.OPERATION_FAILED)); testSubscriber.assertError(RxFirebaseDataException.class); testSubscriber.assertNotCompleted(); testSubscriber.unsubscribe(); }