From 99890c97efc9b66e9be379875fd9e2c1b942f5ae Mon Sep 17 00:00:00 2001 From: blakeli Date: Mon, 5 May 2025 18:05:45 -0400 Subject: [PATCH] Add showcase tests for custom error details --- .../showcase/v1beta1/it/ITUnaryCallable.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITUnaryCallable.java b/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITUnaryCallable.java index 4d6018f6fc..551eac9019 100644 --- a/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITUnaryCallable.java +++ b/java-showcase/gapic-showcase/src/test/java/com/google/showcase/v1beta1/it/ITUnaryCallable.java @@ -20,12 +20,15 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import com.google.api.gax.grpc.GrpcStatusCode; +import com.google.api.gax.rpc.ApiException; import com.google.api.gax.rpc.CancelledException; import com.google.api.gax.rpc.StatusCode; import com.google.rpc.Status; import com.google.showcase.v1beta1.EchoClient; import com.google.showcase.v1beta1.EchoRequest; import com.google.showcase.v1beta1.EchoResponse; +import com.google.showcase.v1beta1.FailEchoWithDetailsRequest; +import com.google.showcase.v1beta1.PoetryError; import com.google.showcase.v1beta1.it.util.TestClientInitializer; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.AfterAll; @@ -72,6 +75,31 @@ void testGrpc_serverResponseError_throwsException() { assertThat(exception.getStatusCode().getCode()).isEqualTo(GrpcStatusCode.Code.CANCELLED); } + @Test + void grpc_failEchoWithDetails() { + FailEchoWithDetailsRequest request = + FailEchoWithDetailsRequest.newBuilder().build(); + try { + grpcClient.failEchoWithDetails(request); + } catch (ApiException e) { + System.out.println(e.getErrorDetails().getMessage(PoetryError.class)); + System.out.println(e.getErrorDetails().getLocalizedMessage()); + System.out.println(e.getErrorDetails().getHelp()); + } + } + + @Test + void http_failEchoWithDetails() { + FailEchoWithDetailsRequest request = + FailEchoWithDetailsRequest.newBuilder().build(); + try { + httpjsonClient.failEchoWithDetails(request); + } catch (ApiException e) { + e.printStackTrace(); + System.out.println(e.getErrorDetails()); + } + } + @Test void testHttpJson_receiveContent() { assertThat(echoHttpJson("http-echo?")).isEqualTo("http-echo?");