mirror of https://github.com/grpc/grpc-java.git
Remove GrpcServer to allow more tests to move to third_party.
GrpcServer had the same restriction that GrpcClient did: it had a single enum of all transports that prevents using it in third_party. ------------- Created by MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=79428440
This commit is contained in:
parent
1553aabb2f
commit
2a93c47657
|
|
@ -10,14 +10,18 @@ import com.google.common.base.Throwables;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
import com.google.common.util.concurrent.SettableFuture;
|
import com.google.common.util.concurrent.SettableFuture;
|
||||||
import com.google.common.util.concurrent.Uninterruptibles;
|
import com.google.common.util.concurrent.Uninterruptibles;
|
||||||
|
import com.google.net.stubby.AbstractServerBuilder;
|
||||||
import com.google.net.stubby.Call;
|
import com.google.net.stubby.Call;
|
||||||
import com.google.net.stubby.ChannelImpl;
|
import com.google.net.stubby.ChannelImpl;
|
||||||
import com.google.net.stubby.Metadata;
|
import com.google.net.stubby.Metadata;
|
||||||
|
import com.google.net.stubby.ServerImpl;
|
||||||
|
import com.google.net.stubby.ServerInterceptors;
|
||||||
import com.google.net.stubby.Status;
|
import com.google.net.stubby.Status;
|
||||||
import com.google.net.stubby.proto.ProtoUtils;
|
import com.google.net.stubby.proto.ProtoUtils;
|
||||||
import com.google.net.stubby.stub.MetadataUtils;
|
import com.google.net.stubby.stub.MetadataUtils;
|
||||||
import com.google.net.stubby.stub.StreamObserver;
|
import com.google.net.stubby.stub.StreamObserver;
|
||||||
import com.google.net.stubby.stub.StreamRecorder;
|
import com.google.net.stubby.stub.StreamRecorder;
|
||||||
|
import com.google.net.stubby.testing.TestUtils;
|
||||||
import com.google.net.stubby.testing.integration.Messages.Payload;
|
import com.google.net.stubby.testing.integration.Messages.Payload;
|
||||||
import com.google.net.stubby.testing.integration.Messages.PayloadType;
|
import com.google.net.stubby.testing.integration.Messages.PayloadType;
|
||||||
import com.google.net.stubby.testing.integration.Messages.ResponseParameters;
|
import com.google.net.stubby.testing.integration.Messages.ResponseParameters;
|
||||||
|
|
@ -43,6 +47,8 @@ import java.util.Collections;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.SynchronousQueue;
|
import java.util.concurrent.SynchronousQueue;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
@ -54,6 +60,23 @@ public abstract class AbstractTransportTest {
|
||||||
|
|
||||||
public static final Metadata.Key<Messages.SimpleContext> METADATA_KEY =
|
public static final Metadata.Key<Messages.SimpleContext> METADATA_KEY =
|
||||||
ProtoUtils.keyForProto(Messages.SimpleContext.getDefaultInstance());
|
ProtoUtils.keyForProto(Messages.SimpleContext.getDefaultInstance());
|
||||||
|
private static ScheduledExecutorService testServiceExecutor;
|
||||||
|
private static ServerImpl server;
|
||||||
|
|
||||||
|
protected static void startStaticServer(AbstractServerBuilder<?> builder) {
|
||||||
|
testServiceExecutor = Executors.newScheduledThreadPool(2);
|
||||||
|
|
||||||
|
server = builder
|
||||||
|
.addService(ServerInterceptors.intercept(
|
||||||
|
TestServiceGrpc.bindService(new TestServiceImpl(testServiceExecutor)),
|
||||||
|
TestUtils.echoRequestHeadersInterceptor(Util.METADATA_KEY)))
|
||||||
|
.buildAndWaitForRunning();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static void stopStaticServer() {
|
||||||
|
server.stopAsync();
|
||||||
|
testServiceExecutor.shutdown();
|
||||||
|
}
|
||||||
|
|
||||||
protected ChannelImpl channel;
|
protected ChannelImpl channel;
|
||||||
protected TestServiceGrpc.TestServiceBlockingStub blockingStub;
|
protected TestServiceGrpc.TestServiceBlockingStub blockingStub;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.google.net.stubby.testing.integration;
|
||||||
|
|
||||||
|
import com.google.net.stubby.ChannelImpl;
|
||||||
|
import com.google.net.stubby.transport.netty.NegotiationType;
|
||||||
|
import com.google.net.stubby.transport.netty.NettyChannelBuilder;
|
||||||
|
import com.google.net.stubby.transport.netty.NettyServerBuilder;
|
||||||
|
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.JUnit4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration tests for GRPC over HTTP2 using the Netty framework.
|
||||||
|
*/
|
||||||
|
@RunWith(JUnit4.class)
|
||||||
|
public class Http2NettyTest extends AbstractTransportTest {
|
||||||
|
private static int serverPort = Util.pickUnusedPort();
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void startServer() {
|
||||||
|
startStaticServer(NettyServerBuilder.forPort(serverPort));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void stopServer() {
|
||||||
|
stopStaticServer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ChannelImpl createChannel() {
|
||||||
|
return NettyChannelBuilder.forAddress("127.0.0.1", serverPort)
|
||||||
|
.negotiationType(NegotiationType.PLAINTEXT).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
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;
|
||||||
|
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.JUnit4;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration tests for GRPC over Http2 using the OkHttp framework.
|
||||||
|
*/
|
||||||
|
@RunWith(JUnit4.class)
|
||||||
|
public class Http2OkHttpTest extends AbstractTransportTest {
|
||||||
|
private static int serverPort = Util.pickUnusedPort();
|
||||||
|
|
||||||
|
@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
|
||||||
|
protected ChannelImpl createChannel() {
|
||||||
|
return OkHttpChannelBuilder.forAddress("127.0.0.1", serverPort).build();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue