Cleanup of NettyClientTransportTest.

This commit is contained in:
nmittler 2015-06-15 12:11:53 -07:00
parent 424c7e64c3
commit 9a6ded523a
1 changed files with 19 additions and 9 deletions

View File

@ -92,7 +92,7 @@ public class NettyClientTransportTest {
private NioEventLoopGroup group; private NioEventLoopGroup group;
private InetSocketAddress address; private InetSocketAddress address;
private NettyServer server; private NettyServer server;
private TestServerListener serverListener = new TestServerListener(); private EchoServerListener serverListener = new EchoServerListener();
@Before @Before
public void setup() throws Exception { public void setup() throws Exception {
@ -120,11 +120,12 @@ public class NettyClientTransportTest {
*/ */
@Test @Test
public void creatingMultipleTlsTransportsShouldSucceed() throws Exception { public void creatingMultipleTlsTransportsShouldSucceed() throws Exception {
startServer(Integer.MAX_VALUE); startServer();
// Create a couple client transports. // Create a couple client transports.
ProtocolNegotiator negotiator = newNegotiator();
for (int index = 0; index < 2; ++index) { for (int index = 0; index < 2; ++index) {
NettyClientTransport transport = newTransport(); NettyClientTransport transport = newTransport(negotiator);
transport.start(clientTransportListener); transport.start(clientTransportListener);
} }
@ -145,7 +146,7 @@ public class NettyClientTransportTest {
// Only allow a single stream active at a time. // Only allow a single stream active at a time.
startServer(1); startServer(1);
NettyClientTransport transport = newTransport(); NettyClientTransport transport = newTransport(newNegotiator());
transport.start(clientTransportListener); transport.start(clientTransportListener);
// Send a dummy RPC in order to ensure that the updated SETTINGS_MAX_CONCURRENT_STREAMS // Send a dummy RPC in order to ensure that the updated SETTINGS_MAX_CONCURRENT_STREAMS
@ -172,19 +173,24 @@ public class NettyClientTransportTest {
} }
} }
private NettyClientTransport newTransport() throws IOException { private ProtocolNegotiator newNegotiator() throws IOException {
// Create the protocol negotiator.
File clientCert = TestUtils.loadCert("ca.pem"); File clientCert = TestUtils.loadCert("ca.pem");
SslContext clientContext = GrpcSslContexts.forClient().trustManager(clientCert) SslContext clientContext = GrpcSslContexts.forClient().trustManager(clientCert)
.ciphers(TestUtils.preferredTestCiphers(), SupportedCipherSuiteFilter.INSTANCE).build(); .ciphers(TestUtils.preferredTestCiphers(), SupportedCipherSuiteFilter.INSTANCE).build();
ProtocolNegotiator negotiator = ProtocolNegotiators.tls(clientContext, address); return ProtocolNegotiators.tls(clientContext, address);
}
private NettyClientTransport newTransport(ProtocolNegotiator negotiator) {
NettyClientTransport transport = new NettyClientTransport(address, NioSocketChannel.class, NettyClientTransport transport = new NettyClientTransport(address, NioSocketChannel.class,
group, negotiator, DEFAULT_WINDOW_SIZE, DEFAULT_WINDOW_SIZE); group, negotiator, DEFAULT_WINDOW_SIZE, DEFAULT_WINDOW_SIZE);
transports.add(transport); transports.add(transport);
return transport; return transport;
} }
private void startServer() throws IOException {
startServer(100);
}
private void startServer(int maxStreamsPerConnection) throws IOException { private void startServer(int maxStreamsPerConnection) throws IOException {
File serverCert = TestUtils.loadCert("server1.pem"); File serverCert = TestUtils.loadCert("server1.pem");
File key = TestUtils.loadCert("server1.key"); File key = TestUtils.loadCert("server1.key");
@ -206,7 +212,11 @@ public class NettyClientTransportTest {
final TestClientStreamListener listener = new TestClientStreamListener(); final TestClientStreamListener listener = new TestClientStreamListener();
Rpc(NettyClientTransport transport) { Rpc(NettyClientTransport transport) {
stream = transport.newStream(METHOD, new Metadata.Headers(), listener); this(transport, new Metadata.Headers());
}
Rpc(NettyClientTransport transport, Metadata.Headers headers) {
stream = transport.newStream(METHOD, headers, listener);
stream.request(1); stream.request(1);
stream.writeMessage(new ByteArrayInputStream(MESSAGE.getBytes())); stream.writeMessage(new ByteArrayInputStream(MESSAGE.getBytes()));
stream.flush(); stream.flush();
@ -255,7 +265,7 @@ public class NettyClientTransportTest {
} }
} }
private static class TestServerListener implements ServerListener { private static class EchoServerListener implements ServerListener {
final List<NettyServerTransport> transports = new ArrayList<NettyServerTransport>(); final List<NettyServerTransport> transports = new ArrayList<NettyServerTransport>();
@Override @Override