From 6b65acae055de917e0ca3adbceea82fd9a60d0af Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Fri, 28 Mar 2025 20:38:13 +0000 Subject: [PATCH 1/2] refactor: reduce code duplication --- .../%sub/services/%service/_shared_macros.j2 | 36 +++++++++++++++++++ .../services/%service/transports/grpc.py.j2 | 36 ++----------------- .../%service/transports/grpc_asyncio.py.j2 | 35 ++---------------- .../services/asset_service/transports/grpc.py | 2 +- .../asset_service/transports/grpc_asyncio.py | 1 + .../iam_credentials/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../services/eventarc/transports/grpc.py | 2 +- .../eventarc/transports/grpc_asyncio.py | 1 + .../config_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../logging_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../metrics_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../config_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../logging_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../metrics_service_v2/transports/grpc.py | 2 +- .../transports/grpc_asyncio.py | 1 + .../services/cloud_redis/transports/grpc.py | 2 +- .../cloud_redis/transports/grpc_asyncio.py | 1 + .../services/cloud_redis/transports/grpc.py | 2 +- .../cloud_redis/transports/grpc_asyncio.py | 1 + 25 files changed, 64 insertions(+), 76 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 index cca0717282..8c01e7ca2f 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 @@ -264,6 +264,42 @@ def _get_http_options(): {% endmacro %} +{% macro unary_request_interceptor_common(service) %} + logging_enabled = CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(std_logging.DEBUG) + if logging_enabled: # pragma: NO COVER + request_metadata = client_call_details.metadata + if isinstance(request, proto.Message): + {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2293): Investigate if we can improve this logic + or wait for next gen protobuf. + #} + request_payload = type(request).to_json(request) + elif isinstance(request, google.protobuf.message.Message): + request_payload = MessageToJson(request) + else: + request_payload = f"{type(request).__name__}: {pickle.dumps(request)}" + + request_metadata = { + key: value.decode("utf-8") if isinstance(value, bytes) else value + for key, value in request_metadata + } + grpc_request = { + "payload": request_payload, + "requestMethod": "grpc", + "metadata": dict(request_metadata), + } + _LOGGER.debug( + f"Sending request for {client_call_details.method}", + extra = { + "serviceName": "{{ service.meta.address.proto }}", + "rpcName": str(client_call_details.method), + "request": grpc_request, + {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2275): logging `metadata` seems repetitive and may need to be cleaned up. We're including it within "request" for consistency with REST transport. #} + "metadata": grpc_request["metadata"], + }, + ) +{% endmacro %} + + {% macro prep_wrapped_messages_async_method(api, service) %} def _prep_wrapped_messages(self, client_info): """ Precompute the wrapped methods, overriding the base class method to use async wrappers.""" diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc.py.j2 index cb3ee8cfa6..7158a4c430 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc.py.j2 @@ -1,5 +1,7 @@ {% extends '_base.py.j2' %} +{% import "%namespace/%name_%version/%sub/services/%service/_shared_macros.j2" as shared_macros %} + {% block content %} import json @@ -59,39 +61,7 @@ _LOGGER = std_logging.getLogger(__name__) class _LoggingClientInterceptor(grpc.UnaryUnaryClientInterceptor): # pragma: NO COVER def intercept_unary_unary(self, continuation, client_call_details, request): - logging_enabled = CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(std_logging.DEBUG) - if logging_enabled: # pragma: NO COVER - request_metadata = client_call_details.metadata - if isinstance(request, proto.Message): - {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2293): Investigate if we can improve this logic - or wait for next gen protobuf. - #} - request_payload = type(request).to_json(request) - elif isinstance(request, google.protobuf.message.Message): - request_payload = MessageToJson(request) - else: - request_payload = f"{type(request).__name__}: {pickle.dumps(request)}" - - request_metadata = { - key: value.decode("utf-8") if isinstance(value, bytes) else value - for key, value in request_metadata - } - grpc_request = { - "payload": request_payload, - "requestMethod": "grpc", - "metadata": dict(request_metadata), - } - _LOGGER.debug( - f"Sending request for {client_call_details.method}", - extra = { - "serviceName": "{{ service.meta.address.proto }}", - "rpcName": client_call_details.method, - "request": grpc_request, - {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2275): logging `metadata` seems repetitive and may need to be cleaned up. We're including it within "request" for consistency with REST transport. #} - "metadata": grpc_request["metadata"], - }, - ) - +{{ shared_macros.unary_request_interceptor_common(service) }} response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc_asyncio.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc_asyncio.py.j2 index 650f4a2c65..64aeb0abf6 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc_asyncio.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/grpc_asyncio.py.j2 @@ -1,5 +1,7 @@ {% extends '_base.py.j2' %} +{% import "%namespace/%name_%version/%sub/services/%service/_shared_macros.j2" as shared_macros %} + {% block content %} {% import "%namespace/%name_%version/%sub/services/%service/_shared_macros.j2" as shared_macros %} @@ -64,38 +66,7 @@ _LOGGER = std_logging.getLogger(__name__) class _LoggingClientAIOInterceptor(grpc.aio.UnaryUnaryClientInterceptor): # pragma: NO COVER async def intercept_unary_unary(self, continuation, client_call_details, request): - logging_enabled = CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(std_logging.DEBUG) - if logging_enabled: # pragma: NO COVER - request_metadata = client_call_details.metadata - if isinstance(request, proto.Message): - {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2293): Investigate if we can improve this logic - or wait for next gen protobuf. - #} - request_payload = type(request).to_json(request) - elif isinstance(request, google.protobuf.message.Message): - request_payload = MessageToJson(request) - else: - request_payload = f"{type(request).__name__}: {pickle.dumps(request)}" - - request_metadata = { - key: value.decode("utf-8") if isinstance(value, bytes) else value - for key, value in request_metadata - } - grpc_request = { - "payload": request_payload, - "requestMethod": "grpc", - "metadata": dict(request_metadata), - } - _LOGGER.debug( - f"Sending request for {client_call_details.method}", - extra = { - "serviceName": "{{ service.meta.address.proto }}", - "rpcName": str(client_call_details.method), - "request": grpc_request, - {# TODO(https://github.com/googleapis/gapic-generator-python/issues/2275): logging `metadata` seems repetitive and may need to be cleaned up. We're including it within "request" for consistency with REST transport.' #} - "metadata": grpc_request["metadata"], - }, - ) +{{ shared_macros.unary_request_interceptor_common(service) }} response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py index 8c3af5208e..3f23f6182a 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py @@ -70,7 +70,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.cloud.asset.v1.AssetService", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py index 96833f741b..bca4f210ef 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py @@ -79,6 +79,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py index 6bb7b44019..76aa5d3adc 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py @@ -67,7 +67,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.iam.credentials.v1.IAMCredentials", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py index c97b00af64..04f61f94f7 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py @@ -76,6 +76,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py index 107b8db45d..63ef9e1561 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py @@ -78,7 +78,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.cloud.eventarc.v1.Eventarc", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py index fdbfeab462..4aacb08992 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py @@ -87,6 +87,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py index 0d7ee84124..6b90ac35cc 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py @@ -70,7 +70,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.ConfigServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py index 46dd72d79d..3d9a1e0b7d 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py @@ -79,6 +79,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py index e64b36f15b..3614b0ede1 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py @@ -69,7 +69,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.LoggingServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py index 1604ba62bc..047611302d 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py @@ -78,6 +78,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py index 4a2d98cc24..557371a75a 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py @@ -69,7 +69,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.MetricsServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py index dcadfbe957..fb2b102021 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py @@ -78,6 +78,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py index 0d7ee84124..6b90ac35cc 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py @@ -70,7 +70,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.ConfigServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py index 46dd72d79d..3d9a1e0b7d 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py @@ -79,6 +79,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py index e64b36f15b..3614b0ede1 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py @@ -69,7 +69,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.LoggingServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py index 1604ba62bc..047611302d 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py @@ -78,6 +78,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py index 4a2d98cc24..557371a75a 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py @@ -69,7 +69,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.logging.v2.MetricsServiceV2", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py index dcadfbe957..fb2b102021 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py @@ -78,6 +78,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py index abb362ff0f..4d152d8c02 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py @@ -70,7 +70,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.cloud.redis.v1.CloudRedis", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py index 3731518549..e6a68f411b 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py @@ -79,6 +79,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py index 55222f4443..f80056c64a 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py @@ -70,7 +70,7 @@ def intercept_unary_unary(self, continuation, client_call_details, request): f"Sending request for {client_call_details.method}", extra = { "serviceName": "google.cloud.redis.v1.CloudRedis", - "rpcName": client_call_details.method, + "rpcName": str(client_call_details.method), "request": grpc_request, "metadata": grpc_request["metadata"], }, diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py index 23337db892..1f13c65682 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py @@ -79,6 +79,7 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) + response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() From 107fea49ae8e2889e1d2b502942483cbb7894b6a Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Fri, 28 Mar 2025 23:36:43 +0000 Subject: [PATCH 2/2] address review feedback --- .../%name_%version/%sub/services/%service/_shared_macros.j2 | 2 +- .../cloud/asset_v1/services/asset_service/transports/grpc.py | 1 - .../asset_v1/services/asset_service/transports/grpc_asyncio.py | 1 - .../credentials_v1/services/iam_credentials/transports/grpc.py | 1 - .../services/iam_credentials/transports/grpc_asyncio.py | 1 - .../cloud/eventarc_v1/services/eventarc/transports/grpc.py | 1 - .../eventarc_v1/services/eventarc/transports/grpc_asyncio.py | 1 - .../logging_v2/services/config_service_v2/transports/grpc.py | 1 - .../services/config_service_v2/transports/grpc_asyncio.py | 1 - .../logging_v2/services/logging_service_v2/transports/grpc.py | 1 - .../services/logging_service_v2/transports/grpc_asyncio.py | 1 - .../logging_v2/services/metrics_service_v2/transports/grpc.py | 1 - .../services/metrics_service_v2/transports/grpc_asyncio.py | 1 - .../logging_v2/services/config_service_v2/transports/grpc.py | 1 - .../services/config_service_v2/transports/grpc_asyncio.py | 1 - .../logging_v2/services/logging_service_v2/transports/grpc.py | 1 - .../services/logging_service_v2/transports/grpc_asyncio.py | 1 - .../logging_v2/services/metrics_service_v2/transports/grpc.py | 1 - .../services/metrics_service_v2/transports/grpc_asyncio.py | 1 - .../cloud/redis_v1/services/cloud_redis/transports/grpc.py | 1 - .../redis_v1/services/cloud_redis/transports/grpc_asyncio.py | 1 - .../cloud/redis_v1/services/cloud_redis/transports/grpc.py | 1 - .../redis_v1/services/cloud_redis/transports/grpc_asyncio.py | 1 - 23 files changed, 1 insertion(+), 23 deletions(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 index 8c01e7ca2f..6db274e82f 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2 @@ -297,7 +297,7 @@ def _get_http_options(): "metadata": grpc_request["metadata"], }, ) -{% endmacro %} +{%- endmacro %} {% macro prep_wrapped_messages_async_method(api, service) %} diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py index 3f23f6182a..2f1d30c418 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc.py @@ -75,7 +75,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py index bca4f210ef..96833f741b 100755 --- a/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py +++ b/tests/integration/goldens/asset/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py @@ -79,7 +79,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py index 76aa5d3adc..4472c18352 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc.py @@ -72,7 +72,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py index 04f61f94f7..c97b00af64 100755 --- a/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py +++ b/tests/integration/goldens/credentials/google/iam/credentials_v1/services/iam_credentials/transports/grpc_asyncio.py @@ -76,7 +76,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py index 63ef9e1561..5ec53389bb 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py @@ -83,7 +83,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py index 4aacb08992..fdbfeab462 100755 --- a/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py +++ b/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py @@ -87,7 +87,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py index 6b90ac35cc..8e56dd2231 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py @@ -75,7 +75,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py index 3d9a1e0b7d..46dd72d79d 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py @@ -79,7 +79,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py index 3614b0ede1..ec9737507e 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py @@ -74,7 +74,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py index 047611302d..1604ba62bc 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py @@ -78,7 +78,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py index 557371a75a..70a0c89da1 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py @@ -74,7 +74,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py index fb2b102021..dcadfbe957 100755 --- a/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py @@ -78,7 +78,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py index 6b90ac35cc..8e56dd2231 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc.py @@ -75,7 +75,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py index 3d9a1e0b7d..46dd72d79d 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/config_service_v2/transports/grpc_asyncio.py @@ -79,7 +79,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py index 3614b0ede1..ec9737507e 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc.py @@ -74,7 +74,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py index 047611302d..1604ba62bc 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/logging_service_v2/transports/grpc_asyncio.py @@ -78,7 +78,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py index 557371a75a..70a0c89da1 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc.py @@ -74,7 +74,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py index fb2b102021..dcadfbe957 100755 --- a/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py +++ b/tests/integration/goldens/logging_internal/google/cloud/logging_v2/services/metrics_service_v2/transports/grpc_asyncio.py @@ -78,7 +78,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py index 4d152d8c02..6267d2c78a 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py @@ -75,7 +75,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py index e6a68f411b..3731518549 100755 --- a/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py +++ b/tests/integration/goldens/redis/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py @@ -79,7 +79,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata() diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py index f80056c64a..fcaefca376 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc.py @@ -75,7 +75,6 @@ def intercept_unary_unary(self, continuation, client_call_details, request): "metadata": grpc_request["metadata"], }, ) - response = continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = response.trailing_metadata() diff --git a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py index 1f13c65682..23337db892 100755 --- a/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py +++ b/tests/integration/goldens/redis_selective/google/cloud/redis_v1/services/cloud_redis/transports/grpc_asyncio.py @@ -79,7 +79,6 @@ async def intercept_unary_unary(self, continuation, client_call_details, request "metadata": grpc_request["metadata"], }, ) - response = await continuation(client_call_details, request) if logging_enabled: # pragma: NO COVER response_metadata = await response.trailing_metadata()