responder : batch) {\n",
- "responder.setException(throwable);\n",
- "}\n",
- "}\n",
- "\n",
- "@Override\n",
- "public long countElements(WriteLogEntriesRequest request) {\n",
- "return request.getEntriesCount();\n",
- "}\n",
- "\n",
- "@Override\n",
- "public long countBytes(WriteLogEntriesRequest request) {\n",
- "return request.getSerializedSize();\n",
- "}\n",
- "\n",
- "}");
-
- assertEquals(expected, writerVisitor.write());
+ Path goldenFilePath =
+ Paths.get(
+ ComposerConstants.GOLDENFILES_DIRECTORY,
+ "BatchingDescriptorComposerTestNoSubresponse.golden");
+ Assert.assertCodeEquals(goldenFilePath, writerVisitor.write());
}
private static Method findMethod(Service service, String methodName) {
diff --git a/src/test/java/com/google/api/generator/gapic/composer/ComposerConstants.java b/src/test/java/com/google/api/generator/gapic/composer/ComposerConstants.java
new file mode 100644
index 0000000000..97d3b6b23b
--- /dev/null
+++ b/src/test/java/com/google/api/generator/gapic/composer/ComposerConstants.java
@@ -0,0 +1,22 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.api.generator.gapic.composer;
+
+public class ComposerConstants {
+ public static final String GOLDENFILES_DIRECTORY =
+ "src/test/java/com/google/api/generator/gapic/composer/goldens/";
+ public static final String TESTFILES_DIRECTORY =
+ "src/test/java/com/google/api/generator/gapic/testdata/";
+}
diff --git a/src/test/java/com/google/api/generator/gapic/composer/ComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/ComposerTest.java
index e5102b3211..3f2980bede 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/ComposerTest.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/ComposerTest.java
@@ -14,13 +14,14 @@
package com.google.api.generator.gapic.composer;
-import static junit.framework.Assert.assertEquals;
-
import com.google.api.generator.engine.ast.ClassDefinition;
import com.google.api.generator.engine.ast.ScopeNode;
import com.google.api.generator.engine.writer.JavaWriterVisitor;
import com.google.api.generator.gapic.model.GapicClass;
import com.google.api.generator.gapic.model.GapicClass.Kind;
+import com.google.api.generator.test.framework.Assert;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
@@ -38,25 +39,7 @@ public void gapicClass_addApacheLicense() {
Composer.addApacheLicense(Arrays.asList(GapicClass.create(Kind.TEST, classDef)));
JavaWriterVisitor visitor = new JavaWriterVisitor();
gapicClassWithHeaderList.get(0).classDefinition().accept(visitor);
- assertEquals(visitor.write(), EXPECTED_CLASS_STRING);
+ Path goldenFilePath = Paths.get(ComposerConstants.GOLDENFILES_DIRECTORY, "ComposerTest.golden");
+ Assert.assertCodeEquals(goldenFilePath, visitor.write());
}
-
- private static final String EXPECTED_CLASS_STRING =
- "/*\n"
- + " * Copyright 2020 Google LLC\n"
- + " *\n"
- + " * Licensed under the Apache License, Version 2.0 (the \"License\");\n"
- + " * you may not use this file except in compliance with the License.\n"
- + " * You may obtain a copy of the License at\n"
- + " *\n"
- + " * https://www.apache.org/licenses/LICENSE-2.0\n"
- + " *\n"
- + " * Unless required by applicable law or agreed to in writing, software\n"
- + " * distributed under the License is distributed on an \"AS IS\" BASIS,\n"
- + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"
- + " * See the License for the specific language governing permissions and\n"
- + " * limitations under the License.\n"
- + " */\n\n"
- + "package com.google.showcase.v1beta1.stub;\n\n"
- + "public class EchoStubSettings {}\n";
}
diff --git a/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceCallableFactoryClassComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceCallableFactoryClassComposerTest.java
index 33bb12caad..32414a301b 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceCallableFactoryClassComposerTest.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceCallableFactoryClassComposerTest.java
@@ -22,9 +22,12 @@
import com.google.api.generator.gapic.model.ResourceName;
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.protoparser.Parser;
+import com.google.api.generator.test.framework.Assert;
import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
import com.google.showcase.v1beta1.EchoOuterClass;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -57,110 +60,8 @@ public void generateServiceClasses() {
JavaWriterVisitor visitor = new JavaWriterVisitor();
clazz.classDefinition().accept(visitor);
- assertEquals(EXPECTED_CLASS_STRING, visitor.write());
+ Path goldenFilePath =
+ Paths.get(ComposerConstants.GOLDENFILES_DIRECTORY, "GrpcEchoCallableFactory.golden");
+ Assert.assertCodeEquals(goldenFilePath, visitor.write());
}
-
- // TODO(miraleung): Update this when a file-diffing test mechanism is in place.
- private static final String EXPECTED_CLASS_STRING =
- "package com.google.showcase.v1beta1.stub;\n"
- + "\n"
- + "import com.google.api.gax.grpc.GrpcCallSettings;\n"
- + "import com.google.api.gax.grpc.GrpcCallableFactory;\n"
- + "import com.google.api.gax.grpc.GrpcStubCallableFactory;\n"
- + "import com.google.api.gax.rpc.BatchingCallSettings;\n"
- + "import com.google.api.gax.rpc.BidiStreamingCallable;\n"
- + "import com.google.api.gax.rpc.ClientContext;\n"
- + "import com.google.api.gax.rpc.ClientStreamingCallable;\n"
- + "import com.google.api.gax.rpc.OperationCallSettings;\n"
- + "import com.google.api.gax.rpc.OperationCallable;\n"
- + "import com.google.api.gax.rpc.PagedCallSettings;\n"
- + "import com.google.api.gax.rpc.ServerStreamingCallSettings;\n"
- + "import com.google.api.gax.rpc.ServerStreamingCallable;\n"
- + "import com.google.api.gax.rpc.StreamingCallSettings;\n"
- + "import com.google.api.gax.rpc.UnaryCallSettings;\n"
- + "import com.google.api.gax.rpc.UnaryCallable;\n"
- + "import com.google.longrunning.Operation;\n"
- + "import com.google.longrunning.stub.OperationsStub;\n"
- + "import javax.annotation.Generated;\n"
- + "\n"
- + "// AUTO-GENERATED DOCUMENTATION AND CLASS.\n"
- + "/**\n"
- + " * gRPC callable factory implementation for the Echo service API.\n"
- + " *\n"
- + " * This class is for advanced usage.\n"
- + " */\n"
- + "@Generated(\"by gapic-generator\")\n"
- + "public class GrpcEchoCallableFactory implements GrpcStubCallableFactory {\n"
- + "\n"
- + " @Override\n"
- + " public UnaryCallable"
- + " createUnaryCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " UnaryCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings,"
- + " clientContext);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public \n"
- + " UnaryCallable createPagedCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " PagedCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings,"
- + " clientContext);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public UnaryCallable"
- + " createBatchingCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " BatchingCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createBatchingCallable(\n"
- + " grpcCallSettings, callSettings, clientContext);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public \n"
- + " OperationCallable createOperationCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " OperationCallSettings callSettings,\n"
- + " ClientContext clientContext,\n"
- + " OperationsStub operationsStub) {\n"
- + " return GrpcCallableFactory.createOperationCallable(\n"
- + " grpcCallSettings, callSettings, clientContext, operationsStub);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public \n"
- + " BidiStreamingCallable createBidiStreamingCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " StreamingCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createBidiStreamingCallable(\n"
- + " grpcCallSettings, callSettings, clientContext);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public \n"
- + " ServerStreamingCallable createServerStreamingCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " ServerStreamingCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createServerStreamingCallable(\n"
- + " grpcCallSettings, callSettings, clientContext);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public \n"
- + " ClientStreamingCallable createClientStreamingCallable(\n"
- + " GrpcCallSettings grpcCallSettings,\n"
- + " StreamingCallSettings callSettings,\n"
- + " ClientContext clientContext) {\n"
- + " return GrpcCallableFactory.createClientStreamingCallable(\n"
- + " grpcCallSettings, callSettings, clientContext);\n"
- + " }\n"
- + "}\n";
}
diff --git a/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceStubClassComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceStubClassComposerTest.java
index 7aa005b7f4..53ea2c413e 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceStubClassComposerTest.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/GrpcServiceStubClassComposerTest.java
@@ -22,9 +22,12 @@
import com.google.api.generator.gapic.model.ResourceName;
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.protoparser.Parser;
+import com.google.api.generator.test.framework.Assert;
import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
import com.google.showcase.v1beta1.EchoOuterClass;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -56,326 +59,7 @@ public void generateServiceClasses() {
JavaWriterVisitor visitor = new JavaWriterVisitor();
clazz.classDefinition().accept(visitor);
- assertEquals(EXPECTED_CLASS_STRING, visitor.write());
+ Path goldenFilePath = Paths.get(ComposerConstants.GOLDENFILES_DIRECTORY, "GrpcEchoStub.golden");
+ Assert.assertCodeEquals(goldenFilePath, visitor.write());
}
-
- // TODO(miraleung): Update this when a file-diffing test mechanism is in place.
- private static final String EXPECTED_CLASS_STRING =
- "package com.google.showcase.v1beta1.stub;\n"
- + "\n"
- + "import static com.google.showcase.v1beta1.EchoClient.PagedExpandPagedResponse;\n"
- + "\n"
- + "import com.google.api.gax.core.BackgroundResource;\n"
- + "import com.google.api.gax.core.BackgroundResourceAggregation;\n"
- + "import com.google.api.gax.grpc.GrpcCallSettings;\n"
- + "import com.google.api.gax.grpc.GrpcStubCallableFactory;\n"
- + "import com.google.api.gax.rpc.BidiStreamingCallable;\n"
- + "import com.google.api.gax.rpc.ClientContext;\n"
- + "import com.google.api.gax.rpc.ClientStreamingCallable;\n"
- + "import com.google.api.gax.rpc.OperationCallable;\n"
- + "import com.google.api.gax.rpc.ServerStreamingCallable;\n"
- + "import com.google.api.gax.rpc.UnaryCallable;\n"
- + "import com.google.longrunning.Operation;\n"
- + "import com.google.longrunning.stub.GrpcOperationsStub;\n"
- + "import com.google.showcase.v1beta1.BlockRequest;\n"
- + "import com.google.showcase.v1beta1.BlockResponse;\n"
- + "import com.google.showcase.v1beta1.EchoRequest;\n"
- + "import com.google.showcase.v1beta1.EchoResponse;\n"
- + "import com.google.showcase.v1beta1.ExpandRequest;\n"
- + "import com.google.showcase.v1beta1.PagedExpandRequest;\n"
- + "import com.google.showcase.v1beta1.PagedExpandResponse;\n"
- + "import com.google.showcase.v1beta1.WaitMetadata;\n"
- + "import com.google.showcase.v1beta1.WaitRequest;\n"
- + "import com.google.showcase.v1beta1.WaitResponse;\n"
- + "import io.grpc.MethodDescriptor;\n"
- + "import io.grpc.protobuf.ProtoUtils;\n"
- + "import java.io.IOException;\n"
- + "import java.util.concurrent.TimeUnit;\n"
- + "import javax.annotation.Generated;\n"
- + "\n"
- + "// AUTO-GENERATED DOCUMENTATION AND CLASS.\n"
- + "/**\n"
- + " * gRPC stub implementation for the Echo service API.\n"
- + " *\n"
- + " * This class is for advanced usage and reflects the underlying API directly.\n"
- + " */\n"
- + "@Generated(\"by gapic-generator-java\")\n"
- + "public class GrpcEchoStub extends EchoStub {\n"
- + " private static final MethodDescriptor"
- + " echoMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.UNARY)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Echo\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor"
- + " expandMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.SERVER_STREAMING)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Expand\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(ExpandRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor"
- + " collectMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.CLIENT_STREAMING)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Collect\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor"
- + " chatMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.BIDI_STREAMING)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Chat\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor"
- + " chatAgainMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.BIDI_STREAMING)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/ChatAgain\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(EchoRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(EchoResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor\n"
- + " pagedExpandMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.UNARY)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/PagedExpand\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(PagedExpandRequest.getDefaultInstance()))\n"
- + " .setResponseMarshaller(\n"
- + " ProtoUtils.marshaller(PagedExpandResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor waitMethodDescriptor"
- + " =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.UNARY)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Wait\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(WaitRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))\n"
- + " .build();\n"
- + " private static final MethodDescriptor"
- + " blockMethodDescriptor =\n"
- + " MethodDescriptor.newBuilder()\n"
- + " .setType(MethodDescriptor.MethodType.UNARY)\n"
- + " .setFullMethodName(\"google.showcase.v1beta1.Echo/Block\")\n"
- + " "
- + " .setRequestMarshaller(ProtoUtils.marshaller(BlockRequest.getDefaultInstance()))\n"
- + " "
- + " .setResponseMarshaller(ProtoUtils.marshaller(BlockResponse.getDefaultInstance()))\n"
- + " .build();\n"
- + " private final UnaryCallable echoCallable;\n"
- + " private final ServerStreamingCallable"
- + " expandCallable;\n"
- + " private final ClientStreamingCallable collectCallable;\n"
- + " private final BidiStreamingCallable chatCallable;\n"
- + " private final BidiStreamingCallable chatAgainCallable;\n"
- + " private final UnaryCallable"
- + " pagedExpandCallable;\n"
- + " private final UnaryCallable\n"
- + " pagedExpandPagedCallable;\n"
- + " private final UnaryCallable waitCallable;\n"
- + " private final OperationCallable"
- + " waitOperationCallable;\n"
- + " private final UnaryCallable blockCallable;\n"
- + " private final BackgroundResource backgroundResources;\n"
- + " private final GrpcOperationsStub operationsStub;\n"
- + " private final GrpcStubCallableFactory callableFactory;\n"
- + "\n"
- + " public static final GrpcEchoStub create(EchoStubSettings settings) throws"
- + " IOException {\n"
- + " return new GrpcEchoStub(settings, ClientContext.create(settings));\n"
- + " }\n"
- + "\n"
- + " public static final GrpcEchoStub create(ClientContext clientContext) throws"
- + " IOException {\n"
- + " return new GrpcEchoStub(EchoStubSettings.newBuilder().build(), clientContext);\n"
- + " }\n"
- + "\n"
- + " public static final GrpcEchoStub create(\n"
- + " ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws"
- + " IOException {\n"
- + " return new GrpcEchoStub(EchoStubSettings.newBuilder().build(), clientContext,"
- + " callableFactory);\n"
- + " }\n"
- + "\n"
- + " protected GrpcEchoStub(EchoStubSettings settings, ClientContext clientContext)\n"
- + " throws IOException {\n"
- + " this(settings, clientContext, new GrpcEchoCallableFactory());\n"
- + " }\n"
- + "\n"
- + " protected GrpcEchoStub(\n"
- + " EchoStubSettings settings,\n"
- + " ClientContext clientContext,\n"
- + " GrpcStubCallableFactory callableFactory)\n"
- + " throws IOException {\n"
- + " this.callableFactory = callableFactory;\n"
- + " this.operationsStub = GrpcOperationsStub.create(clientContext,"
- + " callableFactory);\n"
- + " GrpcCallSettings echoTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(echoMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings expandTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(expandMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings collectTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(collectMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings chatTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(chatMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings chatAgainTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(chatAgainMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings"
- + " pagedExpandTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(pagedExpandMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings waitTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(waitMethodDescriptor)\n"
- + " .build();\n"
- + " GrpcCallSettings blockTransportSettings =\n"
- + " GrpcCallSettings.newBuilder()\n"
- + " .setMethodDescriptor(blockMethodDescriptor)\n"
- + " .build();\n"
- + " this.echoCallable =\n"
- + " callableFactory.createUnaryCallable(\n"
- + " echoTransportSettings, settings.echoSettings(), clientContext);\n"
- + " this.expandCallable =\n"
- + " callableFactory.createServerStreamingCallable(\n"
- + " expandTransportSettings, settings.expandSettings(), clientContext);\n"
- + " this.collectCallable =\n"
- + " callableFactory.createClientStreamingCallable(\n"
- + " collectTransportSettings, settings.collectSettings(), clientContext);\n"
- + " this.chatCallable =\n"
- + " callableFactory.createBidiStreamingCallable(\n"
- + " chatTransportSettings, settings.chatSettings(), clientContext);\n"
- + " this.chatAgainCallable =\n"
- + " callableFactory.createBidiStreamingCallable(\n"
- + " chatAgainTransportSettings, settings.chatAgainSettings(),"
- + " clientContext);\n"
- + " this.pagedExpandCallable =\n"
- + " callableFactory.createUnaryCallable(\n"
- + " pagedExpandTransportSettings, settings.pagedExpandSettings(),"
- + " clientContext);\n"
- + " this.pagedExpandPagedCallable =\n"
- + " callableFactory.createPagedCallable(\n"
- + " pagedExpandTransportSettings, settings.pagedExpandSettings(),"
- + " clientContext);\n"
- + " this.waitCallable =\n"
- + " callableFactory.createUnaryCallable(\n"
- + " waitTransportSettings, settings.waitSettings(), clientContext);\n"
- + " this.waitOperationCallable =\n"
- + " callableFactory.createOperationCallable(\n"
- + " waitTransportSettings, settings.waitOperationSettings(), clientContext,"
- + " operationsStub);\n"
- + " this.blockCallable =\n"
- + " callableFactory.createUnaryCallable(\n"
- + " blockTransportSettings, settings.blockSettings(), clientContext);\n"
- + " this.backgroundResources =\n"
- + " new BackgroundResourceAggregation(clientContext.getBackgroundResources());\n"
- + " }\n"
- + "\n"
- + " public GrpcOperationsStub getOperationsStub() {\n"
- + " return operationsStub;\n"
- + " }\n"
- + "\n"
- + " public UnaryCallable echoCallable() {\n"
- + " return echoCallable;\n"
- + " }\n"
- + "\n"
- + " public ServerStreamingCallable expandCallable() {\n"
- + " return expandCallable;\n"
- + " }\n"
- + "\n"
- + " public ClientStreamingCallable collectCallable() {\n"
- + " return collectCallable;\n"
- + " }\n"
- + "\n"
- + " public BidiStreamingCallable chatCallable() {\n"
- + " return chatCallable;\n"
- + " }\n"
- + "\n"
- + " public BidiStreamingCallable chatAgainCallable() {\n"
- + " return chatAgainCallable;\n"
- + " }\n"
- + "\n"
- + " public UnaryCallable pagedExpandCallable()"
- + " {\n"
- + " return pagedExpandCallable;\n"
- + " }\n"
- + "\n"
- + " public UnaryCallable"
- + " pagedExpandPagedCallable() {\n"
- + " return pagedExpandPagedCallable;\n"
- + " }\n"
- + "\n"
- + " public UnaryCallable waitCallable() {\n"
- + " return waitCallable;\n"
- + " }\n"
- + "\n"
- + " public OperationCallable"
- + " waitOperationCallable() {\n"
- + " return waitOperationCallable;\n"
- + " }\n"
- + "\n"
- + " public UnaryCallable blockCallable() {\n"
- + " return blockCallable;\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public final void close() {\n"
- + " shutdown();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public void shutdown() {\n"
- + " backgroundResources.shutdown();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public boolean isShutdown() {\n"
- + " return backgroundResources.isShutdown();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public boolean isTerminated() {\n"
- + " return backgroundResources.isTerminated();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public void shutdownNow() {\n"
- + " backgroundResources.shutdownNow();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public boolean awaitTermination(long duration, TimeUnit unit) throws"
- + " InterruptedException {\n"
- + " return backgroundResources.awaitTermination(duration, unit);\n"
- + " }\n"
- + "}\n";
}
diff --git a/src/test/java/com/google/api/generator/gapic/composer/MockServiceClassComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/MockServiceClassComposerTest.java
index 7bcb5e48dd..5303ab557a 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/MockServiceClassComposerTest.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/MockServiceClassComposerTest.java
@@ -22,9 +22,12 @@
import com.google.api.generator.gapic.model.ResourceName;
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.protoparser.Parser;
+import com.google.api.generator.test.framework.Assert;
import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
import com.google.showcase.v1beta1.EchoOuterClass;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -56,52 +59,7 @@ public void generateServiceClasses() {
JavaWriterVisitor visitor = new JavaWriterVisitor();
clazz.classDefinition().accept(visitor);
- assertEquals(EXPECTED_CLASS_STRING, visitor.write());
+ Path goldenFilePath = Paths.get(ComposerConstants.GOLDENFILES_DIRECTORY, "MockEcho.golden");
+ Assert.assertCodeEquals(goldenFilePath, visitor.write());
}
-
- // TODO(miraleung): Update this when a file-diffing test mechanism is in place.
- private static final String EXPECTED_CLASS_STRING =
- "package com.google.showcase.v1beta1;\n"
- + "\n"
- + "import com.google.api.core.BetaApi;\n"
- + "import com.google.api.gax.grpc.testing.MockGrpcService;\n"
- + "import com.google.protobuf.AbstractMessage;\n"
- + "import io.grpc.ServerServiceDefinition;\n"
- + "import java.util.List;\n"
- + "import javax.annotation.Generated;\n"
- + "\n"
- + "@BetaApi\n"
- + "@Generated(\"by gapic-generator-java\")\n"
- + "public class MockEcho implements MockGrpcService {\n"
- + " private final MockEchoImpl serviceImpl;\n"
- + "\n"
- + " public MockEcho() {\n"
- + " serviceImpl = new MockEchoImpl();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public List getRequests() {\n"
- + " return serviceImpl.getRequests();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public void addResponse(AbstractMessage response) {\n"
- + " serviceImpl.addResponse(response);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public void addException(Exception exception) {\n"
- + " serviceImpl.addException(exception);\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public ServerServiceDefinition getServiceDefinition() {\n"
- + " return serviceImpl.bindService();\n"
- + " }\n"
- + "\n"
- + " @Override\n"
- + " public void reset() {\n"
- + " serviceImpl.reset();\n"
- + " }\n"
- + "}\n";
}
diff --git a/src/test/java/com/google/api/generator/gapic/composer/MockServiceImplClassComposerTest.java b/src/test/java/com/google/api/generator/gapic/composer/MockServiceImplClassComposerTest.java
index 6bdfa66035..cd2fb25b2e 100644
--- a/src/test/java/com/google/api/generator/gapic/composer/MockServiceImplClassComposerTest.java
+++ b/src/test/java/com/google/api/generator/gapic/composer/MockServiceImplClassComposerTest.java
@@ -22,9 +22,12 @@
import com.google.api.generator.gapic.model.ResourceName;
import com.google.api.generator.gapic.model.Service;
import com.google.api.generator.gapic.protoparser.Parser;
+import com.google.api.generator.test.framework.Assert;
import com.google.protobuf.Descriptors.FileDescriptor;
import com.google.protobuf.Descriptors.ServiceDescriptor;
import com.google.showcase.v1beta1.EchoOuterClass;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -57,231 +60,7 @@ public void generateServiceClasses() {
JavaWriterVisitor visitor = new JavaWriterVisitor();
clazz.classDefinition().accept(visitor);
- assertEquals(EXPECTED_CLASS_STRING, visitor.write());
+ Path goldenFilePath = Paths.get(ComposerConstants.GOLDENFILES_DIRECTORY, "MockEchoImpl.golden");
+ Assert.assertCodeEquals(goldenFilePath, visitor.write());
}
-
- // TODO(miraleung): Update this when a file-diffing test mechanism is in place.
- private static final String EXPECTED_CLASS_STRING =
- "package com.google.showcase.v1beta1;\n"
- + "\n"
- + "import com.google.api.core.BetaApi;\n"
- + "import com.google.longrunning.Operation;\n"
- + "import com.google.protobuf.AbstractMessage;\n"
- + "import com.google.showcase.v1beta1.EchoGrpc.EchoImplBase;\n"
- + "import io.grpc.stub.StreamObserver;\n"
- + "import java.util.ArrayList;\n"
- + "import java.util.LinkedList;\n"
- + "import java.util.List;\n"
- + "import java.util.Queue;\n"
- + "import javax.annotation.Generated;\n"
- + "\n"
- + "@BetaApi\n"
- + "@Generated(\"by gapic-generator-java\")\n"
- + "public class MockEchoImpl extends EchoImplBase {\n"
- + " private List requests;\n"
- + " private Queue