mirror of https://github.com/grpc/grpc-java.git
Fix interop_test client.
This commit is contained in:
parent
61d5baa5f2
commit
1e02b65c08
|
|
@ -288,6 +288,10 @@ public abstract class AbstractInteropTest {
|
|||
return true;
|
||||
}
|
||||
|
||||
protected boolean serverInProcess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void emptyUnary() throws Exception {
|
||||
assertEquals(EMPTY, blockingStub.emptyCall(EMPTY));
|
||||
|
|
@ -1754,6 +1758,9 @@ public abstract class AbstractInteropTest {
|
|||
@SuppressWarnings("AssertionFailureIgnored") // Failure is checked in the end by the passed flag.
|
||||
private void assertServerMetrics(String method, Status.Code code,
|
||||
Collection<? extends MessageLite> requests, Collection<? extends MessageLite> responses) {
|
||||
if (!serverInProcess()) {
|
||||
return;
|
||||
}
|
||||
AssertionError checkFailure = null;
|
||||
boolean passed = false;
|
||||
|
||||
|
|
@ -1875,7 +1882,7 @@ public abstract class AbstractInteropTest {
|
|||
}
|
||||
}
|
||||
|
||||
private static void checkCensusMetrics(MetricsRecord record, boolean server,
|
||||
private void checkCensusMetrics(MetricsRecord record, boolean server,
|
||||
Collection<? extends MessageLite> requests, Collection<? extends MessageLite> responses) {
|
||||
int uncompressedRequestsSize = 0;
|
||||
for (MessageLite request : requests) {
|
||||
|
|
@ -1885,7 +1892,7 @@ public abstract class AbstractInteropTest {
|
|||
for (MessageLite response : responses) {
|
||||
uncompressedResponsesSize += response.getSerializedSize();
|
||||
}
|
||||
if (server) {
|
||||
if (server && serverInProcess()) {
|
||||
assertEquals(
|
||||
requests.size(), record.getMetricAsLongOrFail(RpcConstants.RPC_SERVER_REQUEST_COUNT));
|
||||
assertEquals(
|
||||
|
|
@ -1899,7 +1906,8 @@ public abstract class AbstractInteropTest {
|
|||
// check if they are recorded.
|
||||
assertNotNull(record.getMetric(RpcConstants.RPC_SERVER_REQUEST_BYTES));
|
||||
assertNotNull(record.getMetric(RpcConstants.RPC_SERVER_RESPONSE_BYTES));
|
||||
} else {
|
||||
}
|
||||
if (!server) {
|
||||
assertEquals(
|
||||
requests.size(), record.getMetricAsLongOrFail(RpcConstants.RPC_CLIENT_REQUEST_COUNT));
|
||||
assertEquals(
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package io.grpc.testing.integration;
|
|||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.io.Files;
|
||||
import io.grpc.ManagedChannel;
|
||||
import io.grpc.internal.AbstractManagedChannelImplBuilder;
|
||||
import io.grpc.internal.GrpcUtil;
|
||||
import io.grpc.internal.testing.TestUtils;
|
||||
import io.grpc.netty.GrpcSslContexts;
|
||||
|
|
@ -316,6 +317,7 @@ public class TestServiceClient {
|
|||
private class Tester extends AbstractInteropTest {
|
||||
@Override
|
||||
protected ManagedChannel createChannel() {
|
||||
AbstractManagedChannelImplBuilder<?> builder;
|
||||
if (!useOkHttp) {
|
||||
SslContext sslContext = null;
|
||||
if (useTestCa) {
|
||||
|
|
@ -326,23 +328,23 @@ public class TestServiceClient {
|
|||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
NettyChannelBuilder builder =
|
||||
NettyChannelBuilder nettyBuilder =
|
||||
NettyChannelBuilder.forAddress(serverHost, serverPort)
|
||||
.flowControlWindow(65 * 1024)
|
||||
.negotiationType(useTls ? NegotiationType.TLS : NegotiationType.PLAINTEXT)
|
||||
.sslContext(sslContext);
|
||||
if (serverHostOverride != null) {
|
||||
builder.overrideAuthority(serverHostOverride);
|
||||
nettyBuilder.overrideAuthority(serverHostOverride);
|
||||
}
|
||||
if (fullStreamDecompression) {
|
||||
builder.enableFullStreamDecompression();
|
||||
nettyBuilder.enableFullStreamDecompression();
|
||||
}
|
||||
return builder.build();
|
||||
builder = nettyBuilder;
|
||||
} else {
|
||||
OkHttpChannelBuilder builder = OkHttpChannelBuilder.forAddress(serverHost, serverPort);
|
||||
OkHttpChannelBuilder okBuilder = OkHttpChannelBuilder.forAddress(serverHost, serverPort);
|
||||
if (serverHostOverride != null) {
|
||||
// Force the hostname to match the cert the server uses.
|
||||
builder.overrideAuthority(
|
||||
okBuilder.overrideAuthority(
|
||||
GrpcUtil.authorityFromHostAndPort(serverHostOverride, serverPort));
|
||||
}
|
||||
if (useTls) {
|
||||
|
|
@ -351,23 +353,25 @@ public class TestServiceClient {
|
|||
? TestUtils.newSslSocketFactoryForCa(Platform.get().getProvider(),
|
||||
TestUtils.loadCert("ca.pem"))
|
||||
: (SSLSocketFactory) SSLSocketFactory.getDefault();
|
||||
builder.sslSocketFactory(factory);
|
||||
okBuilder.sslSocketFactory(factory);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
} else {
|
||||
builder.usePlaintext(true);
|
||||
okBuilder.usePlaintext(true);
|
||||
}
|
||||
if (fullStreamDecompression) {
|
||||
builder.enableFullStreamDecompression();
|
||||
okBuilder.enableFullStreamDecompression();
|
||||
}
|
||||
return builder.build();
|
||||
builder = okBuilder;
|
||||
}
|
||||
io.grpc.internal.TestingAccessor.setStatsContextFactory(builder, getClientStatsFactory());
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean metricsExpected() {
|
||||
// Server-side metrics won't be found, because server is a separate process.
|
||||
protected boolean serverInProcess() {
|
||||
// Server is a separate process.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue