android-interop-test: Enable checkstyle; fix violations

This commit is contained in:
Eric Anderson 2016-05-16 11:23:55 -07:00
parent 2825361767
commit 5a2e5e16a2
5 changed files with 65 additions and 39 deletions

View File

@ -31,21 +31,20 @@
package io.grpc.android.integrationtest; package io.grpc.android.integrationtest;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.fail;
import com.google.protobuf.nano.EmptyProtos; import com.google.protobuf.nano.EmptyProtos;
import com.google.protobuf.nano.MessageNano; import com.google.protobuf.nano.MessageNano;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.util.Log; import android.util.Log;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.fail;
import io.grpc.CallOptions; import io.grpc.CallOptions;
import io.grpc.ClientCall; import io.grpc.ClientCall;
import io.grpc.ManagedChannel; import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import io.grpc.Metadata; import io.grpc.Metadata;
import io.grpc.StatusRuntimeException; import io.grpc.StatusRuntimeException;
import io.grpc.android.integrationtest.nano.Messages; import io.grpc.android.integrationtest.nano.Messages;
@ -59,8 +58,6 @@ import io.grpc.android.integrationtest.nano.Messages.StreamingOutputCallRequest;
import io.grpc.android.integrationtest.nano.Messages.StreamingOutputCallResponse; import io.grpc.android.integrationtest.nano.Messages.StreamingOutputCallResponse;
import io.grpc.android.integrationtest.nano.TestServiceGrpc; import io.grpc.android.integrationtest.nano.TestServiceGrpc;
import io.grpc.android.integrationtest.nano.UnimplementedServiceGrpc; import io.grpc.android.integrationtest.nano.UnimplementedServiceGrpc;
import io.grpc.okhttp.OkHttpChannelBuilder;
import io.grpc.okhttp.NegotiationType;
import io.grpc.stub.StreamObserver; import io.grpc.stub.StreamObserver;
import io.grpc.testing.StreamRecorder; import io.grpc.testing.StreamRecorder;
@ -76,9 +73,9 @@ import java.util.concurrent.TimeUnit;
/** /**
* Implementation of the integration tests, as an AsyncTask. * Implementation of the integration tests, as an AsyncTask.
*/ */
public final class InteropTester extends AsyncTask<Void, Void, String> { final class InteropTester extends AsyncTask<Void, Void, String> {
final static String SUCCESS_MESSAGE = "Succeed!!!"; static final String SUCCESS_MESSAGE = "Succeed!!!";
final static String LOG_TAG = "GrpcTest"; static final String LOG_TAG = "GrpcTest";
private ManagedChannel channel; private ManagedChannel channel;
private TestServiceGrpc.TestServiceBlockingStub blockingStub; private TestServiceGrpc.TestServiceBlockingStub blockingStub;
@ -696,13 +693,6 @@ public final class InteropTester extends AsyncTask<Void, Void, String> {
io.grpc.Status.fromThrowable(recorder.getError())); io.grpc.Status.fromThrowable(recorder.getError()));
} }
public static void assertMessageEquals(MessageNano expected, MessageNano actual) {
if (!MessageNano.messageNanoEquals(expected, actual)) {
assertEquals(expected.toString(), actual.toString());
fail("Messages not equal, but assertEquals didn't throw");
}
}
public static void assertMessageSizeEquals(MessageNano expected, MessageNano actual) { public static void assertMessageSizeEquals(MessageNano expected, MessageNano actual) {
assertEquals(expected.getSerializedSize(), actual.getSerializedSize()); assertEquals(expected.getSerializedSize(), actual.getSerializedSize());
} }
@ -714,6 +704,13 @@ public final class InteropTester extends AsyncTask<Void, Void, String> {
} }
} }
public static void assertMessageEquals(MessageNano expected, MessageNano actual) {
if (!MessageNano.messageNanoEquals(expected, actual)) {
assertEquals(expected.toString(), actual.toString());
fail("Messages not equal, but assertEquals didn't throw");
}
}
public static void assertMessageEquals(List<? extends MessageNano> expected, public static void assertMessageEquals(List<? extends MessageNano> expected,
List<? extends MessageNano> actual) { List<? extends MessageNano> actual) {
if (expected == null || actual == null) { if (expected == null || actual == null) {

View File

@ -63,10 +63,10 @@ public class TesterInstrumentation extends Instrumentation {
host = args.getString("server_host"); host = args.getString("server_host");
port = Integer.parseInt(args.getString("server_port")); port = Integer.parseInt(args.getString("server_port"));
serverHostOverride = args.getString("server_host_override"); serverHostOverride = args.getString("server_host_override");
useTls = args.getString("use_tls") != null ? useTls = args.getString("use_tls") != null
Boolean.parseBoolean(args.getString("use_tls")) : true; ? Boolean.parseBoolean(args.getString("use_tls")) : true;
useTestCa = args.getString("use_test_ca") != null ? useTestCa = args.getString("use_test_ca") != null
Boolean.parseBoolean(args.getString("use_test_ca")) : false; ? Boolean.parseBoolean(args.getString("use_test_ca")) : false;
androidSocketFactoryTls = args.getString("android_socket_factory_tls"); androidSocketFactoryTls = args.getString("android_socket_factory_tls");
InputStream testCa = null; InputStream testCa = null;

View File

@ -31,8 +31,6 @@
package io.grpc.android.integrationtest; package io.grpc.android.integrationtest;
import com.google.common.base.Preconditions;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.net.SSLCertificateSocketFactory; import android.net.SSLCertificateSocketFactory;
import android.os.Build; import android.os.Build;
@ -40,11 +38,10 @@ import android.support.annotation.Nullable;
import io.grpc.ManagedChannel; import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder; import io.grpc.ManagedChannelBuilder;
import io.grpc.okhttp.OkHttpChannelBuilder;
import io.grpc.okhttp.NegotiationType; import io.grpc.okhttp.NegotiationType;
import io.grpc.okhttp.OkHttpChannelBuilder;
import java.io.InputStream; import java.io.InputStream;
import java.lang.RuntimeException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.security.KeyStore; import java.security.KeyStore;
import java.security.cert.CertificateFactory; import java.security.cert.CertificateFactory;
@ -59,8 +56,8 @@ import javax.security.auth.x500.X500Principal;
/** /**
* A helper class to create a OkHttp based channel. * A helper class to create a OkHttp based channel.
*/ */
public class TesterOkHttpChannelBuilder { class TesterOkHttpChannelBuilder {
static public ManagedChannel build(String host, int port, @Nullable String serverHostOverride, public static ManagedChannel build(String host, int port, @Nullable String serverHostOverride,
boolean useTls, @Nullable InputStream testCa, @Nullable String androidSocketFactoryTls) { boolean useTls, @Nullable InputStream testCa, @Nullable String androidSocketFactoryTls) {
ManagedChannelBuilder<?> channelBuilder = ManagedChannelBuilder.forAddress(host, port); ManagedChannelBuilder<?> channelBuilder = ManagedChannelBuilder.forAddress(host, port);
if (serverHostOverride != null) { if (serverHostOverride != null) {
@ -86,7 +83,8 @@ public class TesterOkHttpChannelBuilder {
return channelBuilder.build(); return channelBuilder.build();
} }
static private SSLSocketFactory getSslSocketFactory(@Nullable InputStream testCa) throws Exception { private static SSLSocketFactory getSslSocketFactory(@Nullable InputStream testCa)
throws Exception {
if (testCa == null) { if (testCa == null) {
return (SSLSocketFactory) SSLSocketFactory.getDefault(); return (SSLSocketFactory) SSLSocketFactory.getDefault();
} }
@ -97,7 +95,7 @@ public class TesterOkHttpChannelBuilder {
} }
@TargetApi(14) @TargetApi(14)
static private SSLCertificateSocketFactory getSslCertificateSocketFactory( private static SSLCertificateSocketFactory getSslCertificateSocketFactory(
@Nullable InputStream testCa, String androidSocketFatoryTls) throws Exception { @Nullable InputStream testCa, String androidSocketFatoryTls) throws Exception {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH /* API level 14 */) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH /* API level 14 */) {
throw new RuntimeException( throw new RuntimeException(
@ -127,7 +125,7 @@ public class TesterOkHttpChannelBuilder {
return factory; return factory;
} }
static private TrustManager[] getTrustManagers(InputStream testCa) throws Exception { private static TrustManager[] getTrustManagers(InputStream testCa) throws Exception {
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null); ks.load(null);
CertificateFactory cf = CertificateFactory.getInstance("X.509"); CertificateFactory cf = CertificateFactory.getInstance("X.509");

View File

@ -19,3 +19,34 @@ allprojects {
jcenter() jcenter()
} }
} }
subprojects {
apply plugin: "checkstyle"
checkstyle {
configFile = file("$rootDir/../checkstyle.xml")
toolVersion = "6.17"
ignoreFailures = false
if (rootProject.hasProperty("checkstyle.ignoreFailures")) {
ignoreFailures = rootProject.properties["checkstyle.ignoreFailures"].toBoolean()
}
configProperties["rootDir"] = "$rootDir/../"
}
// Checkstyle doesn't run automatically with android
task checkStyleMain(type: Checkstyle) {
source 'src/main/java'
include '**/*.java'
classpath = files()
}
task checkStyleTest(type: Checkstyle) {
source 'src/test/java'
include '**/*.java'
classpath = files()
}
afterEvaluate { project ->
project.tasks['check'].dependsOn checkStyleMain, checkStyleTest
}
}