@Test public void oldTimeoutErrorHasNoEffect() { DirectProcessor<Integer> source = DirectProcessor.create(); DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = AssertSubscriber.create(); source.timeout(tp, v -> Flux.never(), Flux.range(1, 10)) .subscribe(ts); source.onNext(0); tp.onError(new RuntimeException("forced failure")); source.onComplete(); Assert.assertFalse("Timeout has subscribers?", tp.hasDownstreams()); ts.assertValues(0) .assertComplete() .assertNoError(); }
@Test public void timeoutRequested() { AssertSubscriber<Integer> ts = AssertSubscriber.create(); DirectProcessor<Integer> source = DirectProcessor.create(); DirectProcessor<Integer> tp = DirectProcessor.create(); source.timeout(tp, v -> tp) .subscribe(ts); tp.onNext(1); source.onNext(2); source.onComplete(); ts.assertNoValues() .assertError(TimeoutException.class) .assertNotComplete(); }
@Test public void oldTimeoutCompleteHasNoEffect() { DirectProcessor<Integer> source = DirectProcessor.create(); DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = AssertSubscriber.create(); source.timeout(tp, v -> Flux.never(), Flux.range(1, 10)) .subscribe(ts); source.onNext(0); tp.onComplete(); source.onComplete(); Assert.assertFalse("Timeout has subscribers?", tp.hasDownstreams()); ts.assertValues(0) .assertComplete() .assertNoError(); }
@Test public void oldTimeoutHasNoEffect() { DirectProcessor<Integer> source = DirectProcessor.create(); DirectProcessor<Integer> tp = DirectProcessor.create(); AssertSubscriber<Integer> ts = AssertSubscriber.create(); source.timeout(tp, v -> Flux.never(), Flux.range(1, 10)) .subscribe(ts); source.onNext(0); tp.onNext(1); source.onComplete(); Assert.assertFalse("Timeout has subscribers?", tp.hasDownstreams()); ts.assertValues(0) .assertComplete() .assertNoError(); }