@Test public void propagateNonRetryableError() { Mono<Void> result = ObservableReactiveUtil.unaryCall( observer -> observer.onError(new IllegalArgumentException())); StepVerifier.create(result) .expectErrorSatisfies(throwable -> assertThat(throwable).hasCauseInstanceOf(IllegalArgumentException.class) .isInstanceOf(R2dbcNonTransientException.class)) .verify(); }
public static <ResponseT> Mono<ResponseT> unaryCall( Consumer<StreamObserver<ResponseT>> remoteCall) { return Mono.create(sink -> remoteCall.accept(new UnaryStreamObserver(sink))); }
ObservableReactiveUtil { public static <ResponseT> Mono<ResponseT> unaryCall( Consumer<StreamObserver<ResponseT>> remoteCall) { return Mono.create(sink -> remoteCall.accept(new UnaryStreamObserver(sink))); } }
ObservableReactiveUtil { public static <ResponseT> Mono<ResponseT> unaryCall( Consumer<StreamObserver<ResponseT>> remoteCall) { return Mono.create(sink -> remoteCall.accept(new UnaryStreamObserver(sink))); }  }
ObservableReactiveUtil { public static <ResponseT> Mono<ResponseT> unaryCall( Consumer<StreamObserver<ResponseT>> remoteCall) { return Mono.create(sink -> remoteCall.accept(new UnaryStreamObserver(sink))); }  static Mono<ResponseT> unaryCall(
      Consumer<StreamObserver<ResponseT>> remoteCall); static Flux<ResponseT> streamingCall(
      Consumer<StreamObserver<ResponseT>> remoteCall); }
ObservableReactiveUtil { public static <ResponseT> Mono<ResponseT> unaryCall( Consumer<StreamObserver<ResponseT>> remoteCall) { return Mono.create(sink -> remoteCall.accept(new UnaryStreamObserver(sink))); }  static Mono<ResponseT> unaryCall(
      Consumer<StreamObserver<ResponseT>> remoteCall); static Flux<ResponseT> streamingCall(
      Consumer<StreamObserver<ResponseT>> remoteCall);  }