Search in sources :

Example 1 with FakeServiceImplBase

use of com.google.api.gax.grpc.testing.FakeServiceGrpc.FakeServiceImplBase in project gax-java by googleapis.

the class GrpcResponseMetadataTest method setUp.

@Before
public void setUp() throws Exception {
    String serverName = "fakeservice";
    FakeServiceImplBase serviceImpl = Mockito.mock(FakeServiceImplBase.class);
    Mockito.doAnswer(new Answer<Void>() {

        @Override
        public Void answer(InvocationOnMock invocation) {
            Color color = invocation.getArgument(0);
            StreamObserver<Money> observer = invocation.getArgument(1);
            observer.onNext(Money.newBuilder().setCurrencyCode("USD").setUnits((long) (color.getRed() * 255)).build());
            observer.onCompleted();
            return null;
        }
    }).when(serviceImpl).recognize(Mockito.<Color>any(), Mockito.<StreamObserver<Money>>any());
    requestHeaders = null;
    inprocessServer = new InProcessServer<>(serviceImpl, serverName, new ServerInterceptor() {

        @Override
        public <ReqT, RespT> Listener<ReqT> interceptCall(ServerCall<ReqT, RespT> call, Metadata headers, ServerCallHandler<ReqT, RespT> next) {
            requestHeaders = headers;
            return next.startCall(new SimpleForwardingServerCall<ReqT, RespT>(call) {

                @Override
                public void sendHeaders(Metadata responseHeaders) {
                    responseHeaders.put(Key.of(HEADER_KEY, Metadata.ASCII_STRING_MARSHALLER), HEADER_VALUE);
                    super.sendHeaders(responseHeaders);
                }

                @Override
                public void close(Status status, Metadata trailers) {
                    trailers.put(Key.of(TRAILER_KEY, Metadata.ASCII_STRING_MARSHALLER), TRAILER_VALUE);
                    super.close(status, trailers);
                }
            }, headers);
        }
    });
    inprocessServer.start();
    channel = InProcessChannelBuilder.forName(serverName).directExecutor().usePlaintext().intercept(new GrpcMetadataHandlerInterceptor()).build();
    clientContext = ClientContext.newBuilder().setTransportChannel(GrpcTransportChannel.create(channel)).setDefaultCallContext(GrpcCallContext.of(channel, CallOptions.DEFAULT)).build();
}
Also used : StreamObserver(io.grpc.stub.StreamObserver) Status(io.grpc.Status) ServerCallHandler(io.grpc.ServerCallHandler) Color(com.google.type.Color) Metadata(io.grpc.Metadata) Money(com.google.type.Money) SimpleForwardingServerCall(io.grpc.ForwardingServerCall.SimpleForwardingServerCall) ServerCall(io.grpc.ServerCall) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ServerInterceptor(io.grpc.ServerInterceptor) FakeServiceImplBase(com.google.api.gax.grpc.testing.FakeServiceGrpc.FakeServiceImplBase) Before(org.junit.Before)

Aggregations

FakeServiceImplBase (com.google.api.gax.grpc.testing.FakeServiceGrpc.FakeServiceImplBase)1 Color (com.google.type.Color)1 Money (com.google.type.Money)1 SimpleForwardingServerCall (io.grpc.ForwardingServerCall.SimpleForwardingServerCall)1 Metadata (io.grpc.Metadata)1 ServerCall (io.grpc.ServerCall)1 ServerCallHandler (io.grpc.ServerCallHandler)1 ServerInterceptor (io.grpc.ServerInterceptor)1 Status (io.grpc.Status)1 StreamObserver (io.grpc.stub.StreamObserver)1 Before (org.junit.Before)1 InvocationOnMock (org.mockito.invocation.InvocationOnMock)1