From 4029fbdd9ab060ef55382b1890f323f85fe3ceef Mon Sep 17 00:00:00 2001 From: Alice <65933803+alicejli@users.noreply.github.com> Date: Mon, 11 Dec 2023 10:29:30 -0500 Subject: [PATCH] fix: format proto comments in Client Overview (#2280) * fix: format proto comments in Client Overview * update showcase tests * add failing unit test for JavaWriterVisitorTest --- .../comment/ServiceClientCommentComposer.java | 2 +- .../engine/writer/JavaWriterVisitorTest.java | 20 +++ ...cServiceClientWithNestedClassImport.golden | 2 +- .../grpc/goldens/BookshopClient.golden | 2 +- .../goldens/DeprecatedServiceClient.golden | 4 +- .../composer/grpc/goldens/EchoClient.golden | 20 +-- .../grpc/goldens/IdentityClient.golden | 10 +- .../grpc/goldens/MessagingClient.golden | 28 ++-- .../grpcrest/goldens/EchoClient.golden | 22 +-- .../grpcrest/goldens/WickedClient.golden | 6 +- .../showcase/v1beta1/ComplianceClient.java | 61 +++----- .../google/showcase/v1beta1/EchoClient.java | 63 ++------ .../showcase/v1beta1/IdentityClient.java | 33 ++-- .../showcase/v1beta1/MessagingClient.java | 61 +++----- .../v1beta1/SequenceServiceClient.java | 35 ++--- .../showcase/v1beta1/TestingClient.java | 52 +++--- .../v1/ConnectionServiceClient.java | 3 +- .../cloud/apigeeconnect/v1/TetherClient.java | 8 +- .../cloud/asset/v1/AssetServiceClient.java | 92 +++-------- .../data/v2/BaseBigtableDataClient.java | 29 +--- .../compute/v1small/AddressesClient.java | 8 +- .../v1small/RegionOperationsClient.java | 9 +- .../credentials/v1/IamCredentialsClient.java | 8 +- .../com/google/iam/v1/IAMPolicyClient.java | 19 +-- .../kms/v1/KeyManagementServiceClient.java | 147 +++++------------ .../library/v1/LibraryServiceClient.java | 34 ++-- .../google/cloud/logging/v2/ConfigClient.java | 148 +++++------------- .../cloud/logging/v2/LoggingClient.java | 26 +-- .../cloud/logging/v2/MetricsClient.java | 10 +- .../cloud/pubsub/v1/SchemaServiceClient.java | 39 ++--- .../pubsub/v1/SubscriptionAdminClient.java | 134 +++------------- .../cloud/pubsub/v1/TopicAdminClient.java | 51 ++---- .../cloud/redis/v1beta1/CloudRedisClient.java | 76 +++------ .../com/google/storage/v2/StorageClient.java | 148 +++++------------- 34 files changed, 429 insertions(+), 981 deletions(-) diff --git a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/ServiceClientCommentComposer.java b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/ServiceClientCommentComposer.java index 49ed6e168e..e31f04c827 100644 --- a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/ServiceClientCommentComposer.java +++ b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/ServiceClientCommentComposer.java @@ -242,7 +242,7 @@ private static String createTableOfMethods(List methodAndVari .append(method.method) .append("\n") .append(" ") - .append("

" + method.description + "

") + .append(CommentFormatter.formatAsJavaDocComment(method.description, null)) .append("\n") .append(" \n"); generateUnorderedListMethodVariants( diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/JavaWriterVisitorTest.java b/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/JavaWriterVisitorTest.java index f3896901e1..e538b11cc7 100644 --- a/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/JavaWriterVisitorTest.java +++ b/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/JavaWriterVisitorTest.java @@ -71,6 +71,7 @@ import com.google.api.generator.engine.ast.Variable; import com.google.api.generator.engine.ast.VariableExpr; import com.google.api.generator.engine.ast.WhileStatement; +import com.google.api.generator.engine.writer.JavaFormatter.FormatException; import com.google.api.generator.gapic.composer.grpc.ServiceClientClassComposer; import com.google.api.generator.gapic.model.GapicClass; import com.google.api.generator.gapic.model.GapicContext; @@ -960,6 +961,25 @@ public void writeJavaDocComment_specialChar() { assertEquals(expected, writerVisitor.write()); } + @Test + public void writeFailingComment_specialChar() { + JavaDocComment javaDocComment = + JavaDocComment.builder() + .addUnescapedComment( + "This resource reference needs to be CommentFormatted or it will fail: `bookShelves/*/`") + .build(); + + FormatException exceptionForIncorrectlyFormattedComment = + assertThrows( + FormatException.class, + () -> { + javaDocComment.accept(writerVisitor); + }); + assertThat(exceptionForIncorrectlyFormattedComment) + .hasMessageThat() + .contains("The input resource can not be parsed"); + } + @Test public void writeTernaryExpr_basic() { Variable conditionVariable = diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/goldens/GrpcServiceClientWithNestedClassImport.golden b/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/goldens/GrpcServiceClientWithNestedClassImport.golden index 2d21bb2e1e..2fad27b9be 100644 --- a/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/goldens/GrpcServiceClientWithNestedClassImport.golden +++ b/gapic-generator-java/src/test/java/com/google/api/generator/engine/writer/goldens/GrpcServiceClientWithNestedClassImport.golden @@ -38,7 +38,7 @@ import javax.annotation.Generated; * Method Variants * * NestedMessageMethod - *

+ *

* *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

*