@Test public void unaryCallThrowsExceptionIfCompletedWithNoValue() { Mono<Integer> mono = ObservableReactiveUtil.unaryCall(observer -> observer.onCompleted()); StepVerifier.create(mono) .expectErrorMatches(throwable -> throwable instanceof RuntimeException && throwable.getMessage().equals( "Unary gRPC call completed without yielding a value or an error")) .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);  }