@@ -774,56 +774,64 @@ def test_secret_manager_service_client_otel_eager_channel_injection():
774774 mock_raw_channel = mock.Mock()
775775 mock_wrapped_channel = mock.Mock()
776776
777- with mock.patch(
778- "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.is_otel_capabilities_enabled",
779- return_value=True,
780- ) as mock_is_enabled:
781- with mock.patch(
782- "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.apply_otel_capabilities_to_channel",
777+ # We use parenthesized context managers (Python 3.10+) to flatten the mocks.
778+ # This prevents deep indentation while ensuring all mocks are active during
779+ # Client instantiation.
780+ with (
781+ mock.patch(
782+ "google.cloud.secretmanager_v1.services.secret_manager_service.client._observability.is_otel_capabilities_enabled",
783+ return_value=True,
784+ ) as mock_is_enabled,
785+ mock.patch(
786+ "google.cloud.secretmanager_v1.services.secret_manager_service.client._observability.apply_otel_capabilities_to_channel",
783787 return_value=mock_wrapped_channel,
784- ) as mock_apply_otel:
785- with mock.patch.object(
786- transports.SecretManagerServiceGrpcTransport,
787- "create_channel",
788- return_value=mock_raw_channel,
789- ) as mock_create_channel:
790- with mock.patch.object(
791- transports.SecretManagerServiceGrpcTransport, "__init__"
792- ) as patched_transport_init:
793- patched_transport_init.return_value = None
788+ ) as mock_apply_otel,
789+ mock.patch.object(
790+ transports.SecretManagerServiceGrpcTransport,
791+ "create_channel",
792+ return_value=mock_raw_channel,
793+ ) as mock_create_channel,
794+ mock.patch.object(
795+ transports.SecretManagerServiceGrpcTransport, "__init__", return_value=None
796+ ) as patched_transport_init,
797+ ):
798+ client = SecretManagerServiceClient(transport="grpc")
794799
795- client = SecretManagerServiceClient(transport="grpc")
796800
797- mock_is_enabled.assert_called_once()
798- mock_create_channel.assert_called_once()
799- mock_apply_otel.assert_called_once_with(mock_raw_channel, mock.ANY)
801+ mock_is_enabled.assert_called_once()
802+ mock_create_channel.assert_called_once()
803+ mock_apply_otel.assert_called_once_with(mock_raw_channel, mock.ANY)
800804
801- called_kwargs = patched_transport_init.call_args.kwargs
802- assert "channel" in called_kwargs
803- assert called_kwargs["channel"] == mock_wrapped_channel
805+ called_kwargs = patched_transport_init.call_args.kwargs
806+ assert "channel" in called_kwargs
807+ assert called_kwargs["channel"] == mock_wrapped_channel
804808
805809
806810def test_secret_manager_service_client_otel_eager_channel_injection_disabled():
807811 # Simulate OTel being disabled
808- with mock.patch(
809- "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.is_otel_capabilities_enabled",
810- return_value=False,
811- ) as mock_is_enabled:
812- with mock.patch.object(
812+ # We use parenthesized context managers (Python 3.10+) to flatten the mocks.
813+ # This prevents deep indentation while ensuring all mocks are active during
814+ # Client instantiation.
815+ with (
816+ mock.patch(
817+ "google.cloud.secretmanager_v1.services.secret_manager_service.client._observability.is_otel_capabilities_enabled",
818+ return_value=False,
819+ ) as mock_is_enabled,
820+ mock.patch.object(
813821 transports.SecretManagerServiceGrpcTransport, "create_channel"
814- ) as mock_create_channel:
815- with mock.patch.object(
816- transports.SecretManagerServiceGrpcTransport, "__init__"
817- ) as patched_transport_init:
818- patched_transport_init.return_value = None
822+ ) as mock_create_channel,
823+ mock.patch.object(
824+ transports.SecretManagerServiceGrpcTransport, "__init__", return_value=None
825+ ) as patched_transport_init,
826+ ):
827+ client = SecretManagerServiceClient(transport="grpc")
819828
820- client = SecretManagerServiceClient(transport="grpc")
829+ mock_is_enabled.assert_called_once()
830+ mock_create_channel.assert_not_called()
821831
822- mock_is_enabled.assert_called_once()
823- mock_create_channel.assert_not_called()
832+ called_kwargs = patched_transport_init.call_args.kwargs
833+ assert "channel" not in called_kwargs
824834
825- called_kwargs = patched_transport_init.call_args.kwargs
826- assert "channel" not in called_kwargs
827835
828836
829837@pytest.mark.parametrize(
0 commit comments