code: def test_put_targets_failure(event_bridge_rule_helper):
      event_bridge_rule_helper._generate_pipeline_arn_and_name = Mock(
          return_value=dict(
              pipeline_arn="pipeline_arn", pipeline_name="pipeline_name"
          )
      )
      event_bridge_rule_helper.event_bridge_rule_client.put_targets = (
          Mock(
              return_value=dict(
                  FailedEntryCount=1,
                  FailedEntries=[
                      dict(ErrorMessage="test_error_message")
                  ],
              )
          )
      )
      with pytest.raises(
          Exception,
          match="Failed to add target pipeline to rule. Failure reason: test_error_message",
      ):
          event_bridge_rule_helper.put_target(
              rule_name="rule_name",
              target_pipeline="target_pipeline",
              target_pipeline_parameters={"param": "value"},
              role_arn="role_arn",
          )
  
imports: from __future__ import absolute_import
  from mock import Mock
  from sagemaker.session import Session
  from sagemaker.feature_store.feature_processor._event_bridge_rule_helper import EventBridgeRuleHelper
  from botocore.exceptions import ClientError
  from sagemaker.feature_store.feature_processor._feature_processor_pipeline_events import FeatureProcessorPipelineEvents, FeatureProcessorPipelineExecutionStatus
  import pytest
label_desc: Use image node_id 6 for calling a global function with example usage: test_put_targets_failure(event_bridge_rule_helper) without return types