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