private <ReqT, RespT, MetaT> void mockOperationResult( OperationCallable<ReqT, RespT, MetaT> callable, ReqT request, RespT response) { OperationSnapshot operationSnapshot = FakeOperationSnapshot.newBuilder() .setDone(true) .setErrorCode(GrpcStatusCode.of(Code.OK)) .setName("fake-name") .setResponse(response) .build(); OperationFuture<RespT, MetaT> operationFuture = OperationFutures.immediateOperationFuture(operationSnapshot); Mockito.when(callable.futureCall(request)).thenReturn(operationFuture); }
@Test public void testCompleted() throws Exception { OperationFuture<String, Integer> future = OperationFutures.<String, Integer>immediateOperationFuture( FakeOperationSnapshot.newBuilder() .setName("myName") .setDone(true) .setResponse("theResponse") .setMetadata(42) .setErrorCode(FakeStatusCode.of(StatusCode.Code.OK)) .build()); assertThat(future.getName()).isEqualTo("myName"); assertThat(future.get()).isEqualTo("theResponse"); assertThat(future.getMetadata().get()).isEqualTo(42); }
.setDone(true) .setErrorCode(FakeStatusCode.of(Code.OK)) .setResponse("response") .build());
private OperationSnapshot getOperation( String name, Object response, StatusCode errorCode, Object metadata, boolean done, String errorMessage) { FakeOperationSnapshot.Builder builder = FakeOperationSnapshot.newBuilder().setName(name).setDone(done); if (response != null) { builder.setResponse(response); } if (errorCode != null) { builder.setErrorCode(errorCode); } else { builder.setErrorCode(FakeStatusCode.of(StatusCode.Code.OK)); } if (metadata != null) { builder.setMetadata(metadata); } if (errorMessage != null) { builder.setErrorMessage(errorMessage); } return builder.build(); }