OperationCallableImpl extends OperationCallable<RequestT, ResponseT, MetadataT> { @Override public ApiFuture<Void> cancel(String operationName, ApiCallContext callContext) { return longRunningClient.cancelOperationCallable().futureCall(operationName, callContext); } OperationCallableImpl(
      UnaryCallable<RequestT, OperationSnapshot> initialCallable,
      RetryingExecutorWithContext<OperationSnapshot> executor,
      LongRunningClient longRunningClient,
      OperationCallSettings<RequestT, ResponseT, MetadataT> operationCallSettings); @Override OperationFuture<ResponseT, MetadataT> futureCall(
      RequestT request, ApiCallContext callContext); @Override OperationFuture<ResponseT, MetadataT> resumeFutureCall(
      String operationName, ApiCallContext callContext); @Override ApiFuture<Void> cancel(String operationName, ApiCallContext callContext);  }
@Test public void testCancelOperation() throws Exception { String opName = "testCancelOperation"; LongRunningClient longRunningClient = mockCancelOperation(StatusCode.Code.OK); ClientContext mockContext = getClientContext(new FakeChannel(), executor); OperationCallable<Integer, Color, Currency> callable = FakeCallableFactory.createOperationCallable( getUnexpectedStartCallable(), callSettings, mockContext, longRunningClient); ApiFuture<Void> future = callable.cancel(opName); assertThat(future.get()).isNull(); }