code: def test_callback_nlg_fetch_response_id() -> None:
      # Arrange
      utter_action = "utter_greet"
  
      name_slot = TextSlot(
          name="name",
          mappings=[{}],
          initial_value="Bob",
          influence_conversation=False,
      )
      logged_in_slot = TextSlot(
          name="logged_in",
          mappings=[{}],
          initial_value=True,
          influence_conversation=False,
      )
      tracker = DialogueStateTracker.from_events(
          sender_id="interpolated_crv",
          evts=[UserUttered("Hello")],
          slots=[name_slot, logged_in_slot],
      )
      output_channel = "default"
      domain = Domain.load("data/test_nlg/domain_with_response_ids.yml")
  
      # Act
      response_id = CallbackNaturalLanguageGenerator.fetch_response_id(
          utter_action=utter_action,
          tracker=tracker,
          output_channel=output_channel,
          domain_responses=domain.responses,
      )
  
      # Assert
      assert response_id == "ID_2"
  
file_path: rasa/tests/core/nlg/test_callback.py
imports: import logging
  from pytest import LogCaptureFixture
  from rasa.core.nlg.callback import CallbackNaturalLanguageGenerator, nlg_request_format
  from rasa.shared.core.domain import Domain
  from rasa.shared.core.events import UserUttered
  from rasa.shared.core.slots import TextSlot
  from rasa.shared.core.trackers import DialogueStateTracker, EventVerbosity
label_desc: Use image node_id 4 for calling a global function with example usage: test_callback_nlg_fetch_response_id() without return types