docstr: Test `send_message` hook function with batch flag and message passed as mocked params,
  which can be string or list of string, mock the azure service bus `send_messages` function
docstr_tok: ["Test","`","send_message","`","hook","function","with","batch","flag","and","message","passed","as","mocked","params",",","which","can","be","string","or","list","of","string",",","mock","the","azure","service","bus","`","send_messages","`","function"]
code: def test_send_message(
      self,
      mock_sb_client,
      mock_batch_message,
      mock_list_message,
      mock_message,
      mock_batch_flag,
  ):
      """
      Test `send_message` hook function with batch flag and message passed as mocked params,
      which can be string or list of string, mock the azure service bus `send_messages` function
      """
      hook = MessageHook(
          azure_service_bus_conn_id="azure_service_bus_default"
      )
      hook.send_message(
          queue_name=self.queue_name,
          messages=mock_message,
          batch_message_flag=mock_batch_flag,
      )
      if isinstance(mock_message, list):
          if mock_batch_flag:
              message = ServiceBusMessageBatch(mock_message)
          else:
              message = [ServiceBusMessage(msg) for msg in mock_message]
      elif isinstance(mock_message, str):
          if mock_batch_flag:
              message = ServiceBusMessageBatch(mock_message)
          else:
              message = ServiceBusMessage(mock_message)
  
      expected_calls = [
          mock.call()
          .__enter__()
          .get_queue_sender(self.queue_name)
          .__enter__()
          .send_messages(message)
          .__exit__()
      ]
      mock_sb_client.assert_has_calls(expected_calls, any_order=False)
  
imports: from __future__ import annotations
  from unittest import mock
  import pytest
  from airflow.models import Connection
  from airflow.providers.microsoft.azure.hooks.asb import AdminClientHook, MessageHook
label_desc: Use image node_id 4 for calling the TestMessageHook obj's underlying member method code with example usage: obj.test_send_message(mock_sb_client, mock_batch_message, mock_list_message, mock_message, mock_batch_flag) without return types