use of com.google.api.gax.rpc.LongRunningClient in project gax-java by googleapis.
the class GrpcLongRunningClientTest method get.
@Test
public void get() {
OperationsStub operationsStub = mock(OperationsStub.class);
when(operationsStub.getOperationCallable()).thenReturn(new UnaryCallable<GetOperationRequest, Operation>() {
@Override
public ApiFuture<Operation> futureCall(GetOperationRequest request, ApiCallContext context) {
if (!request.getName().equals("poseidon")) {
return ApiFutures.immediateFailedFuture(new IllegalStateException("Unexpected request: " + request));
} else {
return ApiFutures.immediateFuture(Operation.newBuilder().setName("greece").build());
}
}
});
LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub);
Truth.assertThat(longRunningClient.getOperationCallable().call("poseidon").getName()).isEqualTo("greece");
}
use of com.google.api.gax.rpc.LongRunningClient in project gax-java by googleapis.
the class GrpcLongRunningClientTest method delete.
@Test
public void delete() {
OperationsStub operationsStub = mock(OperationsStub.class);
when(operationsStub.deleteOperationCallable()).thenReturn(new UnaryCallable<DeleteOperationRequest, Empty>() {
@Override
public ApiFuture<Empty> futureCall(DeleteOperationRequest request, ApiCallContext context) {
if (!request.getName().equals("poseidon")) {
return ApiFutures.immediateFailedFuture(new IllegalStateException("Unexpected request: " + request));
} else {
return ApiFutures.immediateFuture(Empty.getDefaultInstance());
}
}
});
LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub);
Truth.assertThat(longRunningClient.deleteOperationCallable().call("poseidon")).isNull();
}
use of com.google.api.gax.rpc.LongRunningClient in project gax-java by googleapis.
the class GrpcLongRunningClientTest method cancel.
@Test
public void cancel() {
OperationsStub operationsStub = mock(OperationsStub.class);
when(operationsStub.cancelOperationCallable()).thenReturn(new UnaryCallable<CancelOperationRequest, Empty>() {
@Override
public ApiFuture<Empty> futureCall(CancelOperationRequest request, ApiCallContext context) {
if (!request.getName().equals("poseidon")) {
return ApiFutures.immediateFailedFuture(new IllegalStateException("Unexpected request: " + request));
} else {
return ApiFutures.immediateFuture(Empty.getDefaultInstance());
}
}
});
LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub);
Truth.assertThat(longRunningClient.cancelOperationCallable().call("poseidon")).isNull();
}
use of com.google.api.gax.rpc.LongRunningClient in project gax-java by googleapis.
the class GrpcCallableFactory method createOperationCallable.
/**
* Creates a callable object that represents a long-running operation. Designed for use by
* generated code.
*
* @param grpcCallSettings the gRPC call settings
* @param operationCallSettings {@link OperationCallSettings} to configure the method-level
* settings with.
* @param clientContext {@link ClientContext} to use to connect to the service.
* @param operationsStub {@link OperationsStub} to use to poll for updates on the Operation.
* @return {@link com.google.api.gax.rpc.OperationCallable} callable object.
*/
public static <RequestT, ResponseT, MetadataT> OperationCallable<RequestT, ResponseT, MetadataT> createOperationCallable(GrpcCallSettings<RequestT, Operation> grpcCallSettings, OperationCallSettings<RequestT, ResponseT, MetadataT> operationCallSettings, ClientContext clientContext, OperationsStub operationsStub) {
SpanName initialSpanName = getSpanName(grpcCallSettings.getMethodDescriptor());
SpanName operationSpanName = SpanName.of(initialSpanName.getClientName(), initialSpanName.getMethodName() + "Operation");
UnaryCallable<RequestT, Operation> initialGrpcCallable = createBaseUnaryCallable(grpcCallSettings, operationCallSettings.getInitialCallSettings(), clientContext);
UnaryCallable<RequestT, OperationSnapshot> initialCallable = new GrpcOperationSnapshotCallable<>(initialGrpcCallable);
// Create a sub-trace for the initial RPC that starts the operation.
UnaryCallable<RequestT, OperationSnapshot> tracedInitialCallable = new TracedOperationInitialCallable<>(initialCallable, clientContext.getTracerFactory(), initialSpanName);
LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub);
OperationCallable<RequestT, ResponseT, MetadataT> operationCallable = Callables.longRunningOperation(tracedInitialCallable, operationCallSettings, clientContext, longRunningClient);
OperationCallable<RequestT, ResponseT, MetadataT> tracedOperationCallable = new TracedOperationCallable<>(operationCallable, clientContext.getTracerFactory(), operationSpanName);
return tracedOperationCallable.withDefaultCallContext(clientContext.getDefaultCallContext());
}
Aggregations