@@ -769,47 +769,60 @@ def test_secret_manager_service_client_client_options(
769769 )
770770
771771
772- def test_secret_manager_service_client_otel_interceptor_injection():
773- # Mock the helper to return a sentinel interceptor
774- mock_interceptor = mock.Mock()
772+ def test_secret_manager_service_client_otel_eager_channel_injection():
773+ # Mock the helpers to simulate OTel being enabled
774+ mock_raw_channel = mock.Mock()
775+ mock_wrapped_channel = mock.Mock()
775776
776777 with mock.patch(
777- "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.get_otel_grpc_interceptor"
778- ) as mock_get_interceptor:
779- mock_get_interceptor.return_value = mock_interceptor
780-
781- with mock.patch.object(
782- transports.SecretManagerServiceGrpcTransport, "__init__"
783- ) as patched_transport_init:
784- patched_transport_init.return_value = None
785-
786- client = SecretManagerServiceClient(transport="grpc")
787-
788- mock_get_interceptor.assert_called_once()
789-
790- called_kwargs = patched_transport_init.call_args.kwargs
791- assert "interceptors" in called_kwargs
792- assert called_kwargs["interceptors"] == [mock_interceptor]
793-
794-
795- def test_secret_manager_service_client_otel_interceptor_injection_disabled():
796- # The helper does not return an interceptor
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",
783+ return_value=mock_wrapped_channel
784+ ) as mock_apply_otel:
785+ with mock.patch.object(
786+ transports.SecretManagerServiceGrpcTransport, "create_channel",
787+ return_value=mock_raw_channel
788+ ) as mock_create_channel:
789+ with mock.patch.object(
790+ transports.SecretManagerServiceGrpcTransport, "__init__"
791+ ) as patched_transport_init:
792+ patched_transport_init.return_value = None
793+
794+ client = SecretManagerServiceClient(transport="grpc")
795+
796+ mock_is_enabled.assert_called_once()
797+ mock_create_channel.assert_called_once()
798+ mock_apply_otel.assert_called_once_with(mock_raw_channel, mock.ANY)
799+
800+ called_kwargs = patched_transport_init.call_args.kwargs
801+ assert "channel" in called_kwargs
802+ assert called_kwargs["channel"] == mock_wrapped_channel
803+
804+
805+ def test_secret_manager_service_client_otel_eager_channel_injection_disabled():
806+ # Simulate OTel being disabled
797807 with mock.patch(
798- "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.get_otel_grpc_interceptor"
799- ) as mock_get_interceptor:
800- mock_get_interceptor.return_value = None
801-
808+ "google.cloud.secretmanager_v1.services.secret_manager_service.client._otel_helpers.is_otel_capabilities_enabled",
809+ return_value=False
810+ ) as mock_is_enabled:
802811 with mock.patch.object(
803- transports.SecretManagerServiceGrpcTransport, "__init__"
804- ) as patched_transport_init:
805- patched_transport_init.return_value = None
812+ transports.SecretManagerServiceGrpcTransport, "create_channel"
813+ ) as mock_create_channel:
814+ with mock.patch.object(
815+ transports.SecretManagerServiceGrpcTransport, "__init__"
816+ ) as patched_transport_init:
817+ patched_transport_init.return_value = None
806818
807- client = SecretManagerServiceClient(transport="grpc")
819+ client = SecretManagerServiceClient(transport="grpc")
808820
809- mock_get_interceptor.assert_called_once()
821+ mock_is_enabled.assert_called_once()
822+ mock_create_channel.assert_not_called()
810823
811- called_kwargs = patched_transport_init.call_args.kwargs
812- assert "interceptors " not in called_kwargs
824+ called_kwargs = patched_transport_init.call_args.kwargs
825+ assert "channel " not in called_kwargs
813826
814827
815828@pytest.mark.parametrize(
0 commit comments