code: def test_missing_arguments(
      self,
      mock_text_to_speech_hook,
      mock_gcp_hook,
      missing_arg,
      input_data,
      voice,
      audio_config,
      target_bucket_name,
      target_filename,
  ):
      mocked_context = Mock()
  
      with pytest.raises(AirflowException) as ctx:
          CloudTextToSpeechSynthesizeOperator(
              project_id="project-id",
              input_data=input_data,
              voice=voice,
              audio_config=audio_config,
              target_bucket_name=target_bucket_name,
              target_filename=target_filename,
              task_id="id",
          ).execute(context=mocked_context)
  
      err = ctx.value
      assert missing_arg in str(err)
      mock_text_to_speech_hook.assert_not_called()
      mock_gcp_hook.assert_not_called()
  
file_path: airflow/tests/providers/google/cloud/operators/test_text_to_speech.py
imports: from __future__ import annotations
  from unittest.mock import ANY, MagicMock, Mock, PropertyMock, patch
  import pytest
  from google.api_core.gapic_v1.method import DEFAULT
  from airflow.exceptions import AirflowException
  from airflow.providers.google.cloud.operators.text_to_speech import CloudTextToSpeechSynthesizeOperator
label_desc: Use image node_id 2 for calling the TestGcpTextToSpeech obj's underlying member method code with example usage: obj.test_missing_arguments(mock_text_to_speech_hook, mock_gcp_hook, missing_arg, input_data, voice, audio_config, target_bucket_name, target_filename) without return types