@Test public void errorBackpressured() { StepVerifier.create(Mono.<Integer>error(new IllegalStateException()) .filterWhen(v -> Mono.just(true)), 0L) .verifyError(IllegalStateException.class); }
@Test public void error() { StepVerifier.create(Flux.error(new IOException()) .onBackpressureBuffer(Duration.ofMinutes(1), Integer.MAX_VALUE, v -> {})) .verifyError(IOException.class); }
@Test public void errorBackpressured() { StepVerifier.create(Flux.<Integer>error(new IllegalStateException()) .filterWhen(v -> Mono.just(true)), 0L) .verifyError(IllegalStateException.class); }
@Test public void predicateError() { StepVerifier.create(Flux.just(1) .filterWhen(v -> Mono.<Boolean>error(new IllegalStateException()).hide())) .verifyError(IllegalStateException.class); }
@Test public void predicateThrows() { StepVerifier.create(Flux.just(1) .filterWhen(v -> { throw new IllegalStateException(); })) .verifyError(IllegalStateException.class); }
@Test public void failNull() { StepVerifier.create(Flux.just(1, 2, 3) .flatMap(d -> null)) .verifyError(NullPointerException.class); }
@Test public void error() { StepVerifier.create(Flux.just(1) .cast(String.class)) .verifyError(ClassCastException.class); }
@Test public void failNull() { StepVerifier.create(Flux.zip(obj -> 0, Flux.just(1), null)) .verifyError(NullPointerException.class); }
@Test public void verifyErrorUsesDefaultTimeout() { assertThatExceptionOfType(AssertionError.class) .isThrownBy(() -> StepVerifier.create(Mono.delay(Duration.ofMillis(150))) .verifyError()) .withMessageStartingWith("VerifySubscriber timed out"); }
@Test public void singleEmptyFallbackJustHideError() { StepVerifier.create(Flux.just(1, 2, 3) .hide() .singleOrEmpty()) .verifyError(IndexOutOfBoundsException.class); }
@Test public void singleJustHide() { StepVerifier.create(Flux.empty() .single()) .verifyError(NoSuchElementException.class); }
@Test public void streamConsumedBySubscription() { Stream<Integer> stream = source.stream(); Flux<Integer> flux = Flux.fromStream(stream); StepVerifier.create(flux) .expectNextSequence(source) .verifyComplete(); StepVerifier.create(flux) .verifyError(IllegalStateException.class); }
@Test public void onErrorReturnErrorPredicateNot() { StepVerifier.create(Flux.<Integer>error(new TestException()) .onErrorReturn(RuntimeException.class, 1)) .verifyError(TestException.class); } @Test
@Test public void failCombinedNull() { StepVerifier.create(Flux.zip(obj -> null, Flux.just(1), Flux.just(2))) .verifyError(NullPointerException.class); }
@Test public void combineLatest2Null() { StepVerifier.create(Flux.just(1).withLatestFrom(Flux.just(2), (a, b) -> null)) .verifyError(NullPointerException.class); }
@Test public void onErrorReturnErrorPredicateNot2() { StepVerifier.create(Flux.<Integer>error(new TestException()) .onErrorReturn(RuntimeException.class::isInstance, 1)) .verifyError(TestException.class); } }
@Test public void noDefaultConstructor() { Flux<DataBuffer> input = Flux.from(stringBuffer("{\"property1\":\"foo\",\"property2\":\"bar\"}")); ResolvableType elementType = forClass(BeanWithNoDefaultConstructor.class); Flux<Object> flux = new Jackson2JsonDecoder().decode(input, elementType, null, emptyMap()); StepVerifier.create(flux).verifyError(CodecException.class); }
@Test public void invalidData() { Flux<DataBuffer> input = Flux.from(stringBuffer("{\"foofoo\": \"foofoo\", \"barbar\": \"barbar\"")); testDecode(input, Pojo.class, step -> step .verifyError(DecodingException.class)); }
@Test public void bodyError() { ServerHttpRequest request = generateErrorMultipartRequest(); ResolvableType elementType = forClassWithGenerics(MultiValueMap.class, String.class, Part.class); StepVerifier.create(this.reader.readMono(elementType, request, emptyMap())).verifyError(); }
@Test public void exceedMaxSize() { this.decoder.setMaxMessageSize(1); Mono<DataBuffer> input = dataBuffer(this.testMsg1); testDecode(input, Msg.class, step -> step .verifyError(DecodingException.class)); }