From fc30031fd1e3b304b1354732b356fca30eb09b01 Mon Sep 17 00:00:00 2001 From: ejona Date: Mon, 8 Dec 2014 12:02:18 -0800 Subject: [PATCH] Change default gRPC protocol to v2. Any place that force-sets the protocol to 2 or assumes the old value is now removed. Unfortunately, it seems InProcessTransportTest has some non-obvious dependency on gRPC v1. ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=81597524 --- .../net/stubby/transport/AbstractStream.java | 2 +- .../integration/TestServiceClient.java | 2 +- .../integration/TestServiceServer.java | 2 +- .../testing/integration/Http2OkHttpTest.java | 3 -- .../netty/NettyClientStreamTest.java | 12 -------- .../netty/NettyServerHandlerTest.java | 4 +-- .../netty/NettyServerStreamTest.java | 28 +++++++++++++++---- .../okhttp/OkHttpClientTransportTest.java | 2 -- 8 files changed, 27 insertions(+), 28 deletions(-) diff --git a/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java b/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java index 300d2fa632..17787b944c 100644 --- a/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java +++ b/core/src/main/java/com/google/net/stubby/transport/AbstractStream.java @@ -56,7 +56,7 @@ public abstract class AbstractStream implements Stream { * and should please, please, please be temporary to ease migration. */ // TODO(user): remove this once v1 support is dropped. - public static boolean GRPC_V2_PROTOCOL = false; + public static boolean GRPC_V2_PROTOCOL = true; /** * Indicates the phase of the GRPC stream in one direction. diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java b/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java index c702482a0b..5794eaa550 100644 --- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java +++ b/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceClient.java @@ -192,7 +192,7 @@ public class TestServiceClient { private static int getGrpcVersion(Map argMap) { String value = argMap.get(GRPC_VERSION_ARG.toLowerCase()); if (value == null) { - return 1; + return 2; } int version = Integer.parseInt(value); System.out.println(GRPC_VERSION_ARG + " set to version: " + version); diff --git a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java b/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java index bac83e7d86..7d16c27063 100644 --- a/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java +++ b/integration-testing/src/main/java/com/google/net/stubby/testing/integration/TestServiceServer.java @@ -167,7 +167,7 @@ public class TestServiceServer { private static int getGrpcVersion(Map argMap) { String value = argMap.get(GRPC_VERSION_ARG.toLowerCase()); if (value == null) { - return 1; + return 2; } int version = Integer.parseInt(value); System.out.println(GRPC_VERSION_ARG + " set to version: " + version); diff --git a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java b/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java index 2bc91467e3..49bc023ba4 100644 --- a/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java +++ b/integration-testing/src/test/java/com/google/net/stubby/testing/integration/Http2OkHttpTest.java @@ -32,7 +32,6 @@ package com.google.net.stubby.testing.integration; import com.google.net.stubby.ChannelImpl; -import com.google.net.stubby.transport.AbstractStream; import com.google.net.stubby.transport.netty.NettyServerBuilder; import com.google.net.stubby.transport.okhttp.OkHttpChannelBuilder; @@ -50,14 +49,12 @@ public class Http2OkHttpTest extends AbstractTransportTest { @BeforeClass public static void startServer() throws Exception { - AbstractStream.GRPC_V2_PROTOCOL = true; startStaticServer(NettyServerBuilder.forPort(serverPort)); } @AfterClass public static void stopServer() throws Exception { stopStaticServer(); - AbstractStream.GRPC_V2_PROTOCOL = false; } @Override diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java index 4afb46ca39..db817ebe72 100644 --- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java +++ b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyClientStreamTest.java @@ -82,18 +82,6 @@ public class NettyClientStreamTest extends NettyStreamTestBase { return listener; } - @Override - @Before - public void setup() { - AbstractStream.GRPC_V2_PROTOCOL = false; - super.setup(); - } - - @After - public void tearDown() { - AbstractStream.GRPC_V2_PROTOCOL = false; - } - @Test public void closeShouldSucceed() { // Force stream creation. diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java index 593bcdf05a..4c2763f8ae 100644 --- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java +++ b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerHandlerTest.java @@ -54,7 +54,7 @@ import com.google.net.stubby.Metadata; import com.google.net.stubby.Status; import com.google.net.stubby.Status.Code; import com.google.net.stubby.transport.Framer; -import com.google.net.stubby.transport.MessageFramer; +import com.google.net.stubby.transport.MessageFramer2; import com.google.net.stubby.transport.ServerStream; import com.google.net.stubby.transport.ServerStreamListener; import com.google.net.stubby.transport.ServerTransportListener; @@ -272,7 +272,7 @@ public class NettyServerHandlerTest extends NettyHandlerTestBase { private ByteBuf dataFrame(int streamId, boolean endStream) { final ByteBuf compressionFrame = Unpooled.buffer(CONTENT.length); - MessageFramer framer = new MessageFramer(new Framer.Sink() { + MessageFramer2 framer = new MessageFramer2(new Framer.Sink() { @Override public void deliverFrame(ByteBuffer frame, boolean endOfStream) { compressionFrame.writeBytes(frame); diff --git a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java index 8b66f46dd9..a2605c480c 100644 --- a/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java +++ b/netty/src/test/java/com/google/net/stubby/transport/netty/NettyServerStreamTest.java @@ -35,6 +35,7 @@ import static com.google.net.stubby.transport.netty.NettyTestUtil.messageFrame; import static com.google.net.stubby.transport.netty.NettyTestUtil.statusFrame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.Matchers.any; import static org.mockito.Matchers.same; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -48,6 +49,7 @@ import com.google.net.stubby.transport.ServerStreamListener; import io.netty.buffer.EmptyByteBuf; import io.netty.buffer.UnpooledByteBufAllocator; +import io.netty.handler.codec.AsciiString; import io.netty.handler.codec.http2.DefaultHttp2Headers; import io.netty.handler.codec.http2.Http2Headers; @@ -103,7 +105,10 @@ public class NettyServerStreamTest extends NettyStreamTestBase { public void closeBeforeClientHalfCloseShouldSucceed() throws Exception { stream().close(Status.OK, new Metadata.Trailers()); verify(channel).writeAndFlush( - new SendGrpcFrameCommand(STREAM_ID, statusFrame(Status.OK), true)); + new SendResponseHeadersCommand(STREAM_ID, new DefaultHttp2Headers() + .status(new AsciiString("200")) + .set(new AsciiString("content-type"), new AsciiString("application/grpc")) + .set(new AsciiString("grpc-status"), new AsciiString("0")), true)); verifyZeroInteractions(serverListener); // Sending complete. Listener gets closed() stream().complete(); @@ -117,7 +122,10 @@ public class NettyServerStreamTest extends NettyStreamTestBase { // Error is sent on wire and ends the stream stream().close(Status.CANCELLED, trailers); verify(channel).writeAndFlush( - new SendGrpcFrameCommand(STREAM_ID, statusFrame(Status.CANCELLED), true)); + new SendResponseHeadersCommand(STREAM_ID, new DefaultHttp2Headers() + .status(new AsciiString("200")) + .set(new AsciiString("content-type"), new AsciiString("application/grpc")) + .set(new AsciiString("grpc-status"), new AsciiString("1")), true)); verifyZeroInteractions(serverListener); // Sending complete. Listener gets closed() stream().complete(); @@ -137,7 +145,10 @@ public class NettyServerStreamTest extends NettyStreamTestBase { assertTrue(stream().isClosed()); verifyNoMoreInteractions(serverListener); verify(channel).writeAndFlush( - new SendGrpcFrameCommand(STREAM_ID, statusFrame(Status.OK), true)); + new SendResponseHeadersCommand(STREAM_ID, new DefaultHttp2Headers() + .status(new AsciiString("200")) + .set(new AsciiString("content-type"), new AsciiString("application/grpc")) + .set(new AsciiString("grpc-status"), new AsciiString("0")), true)); // Sending and receiving complete. Listener gets closed() stream().complete(); verify(serverListener).closed(Status.OK); @@ -150,7 +161,12 @@ public class NettyServerStreamTest extends NettyStreamTestBase { stream().abortStream(status, true); assertTrue(stream().isClosed()); verify(serverListener).closed(same(status)); - verify(channel).writeAndFlush(new SendGrpcFrameCommand(STREAM_ID, statusFrame(status), true)); + verify(channel).writeAndFlush( + new SendResponseHeadersCommand(STREAM_ID, new DefaultHttp2Headers() + .status(new AsciiString("200")) + .set(new AsciiString("content-type"), new AsciiString("application/grpc")) + .set(new AsciiString("grpc-status"), new AsciiString("" + status.getCode().value())), + true)); verifyNoMoreInteractions(serverListener); } @@ -160,8 +176,8 @@ public class NettyServerStreamTest extends NettyStreamTestBase { stream().abortStream(status, false); assertTrue(stream().isClosed()); verify(serverListener).closed(same(status)); - verify(channel, never()).writeAndFlush( - new SendGrpcFrameCommand(STREAM_ID, statusFrame(status), true)); + verify(channel, never()).writeAndFlush(any(SendResponseHeadersCommand.class)); + verify(channel, never()).writeAndFlush(any(SendGrpcFrameCommand.class)); verifyNoMoreInteractions(serverListener); } diff --git a/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java b/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java index 37c058adde..cdd842db80 100644 --- a/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java +++ b/okhttp/src/test/java/com/google/net/stubby/transport/okhttp/OkHttpClientTransportTest.java @@ -52,7 +52,6 @@ import com.google.common.util.concurrent.Service.State; import com.google.net.stubby.Metadata; import com.google.net.stubby.MethodDescriptor; import com.google.net.stubby.Status; -import com.google.net.stubby.transport.AbstractStream; import com.google.net.stubby.transport.ClientStreamListener; import com.google.net.stubby.transport.okhttp.OkHttpClientTransport.ClientFrameHandler; @@ -109,7 +108,6 @@ public class OkHttpClientTransportTest { @Before public void setup() { - AbstractStream.GRPC_V2_PROTOCOL = true; MockitoAnnotations.initMocks(this); streams = new HashMap(); frameReader = new MockFrameReader();