def test_synthesize_text_green_path(self, mock_text_to_speech_hook, mock_gcp_hook): mocked_response = Mock() type(mocked_response).audio_content = PropertyMock(return_value=b"audio") mock_text_to_speech_hook.return_value.synthesize_speech.return_value = mocked_response mock_gcp_hook.return_value.upload.return_value = True CloudTextToSpeechSynthesizeOperator( project_id=PROJECT_ID, gcp_conn_id=GCP_CONN_ID, input_data=INPUT, voice=VOICE, audio_config=AUDIO_CONFIG, target_bucket_name=TARGET_BUCKET_NAME, target_filename=TARGET_FILENAME, task_id="id", ).execute(context={"task_instance": Mock()}) mock_text_to_speech_hook.assert_called_once_with(gcp_conn_id="gcp-conn-id") mock_gcp_hook.assert_called_once_with(google_cloud_storage_conn_id="gcp-conn-id") mock_text_to_speech_hook.return_value.synthesize_speech.assert_called_once_with( input_data=INPUT, voice=VOICE, audio_config=AUDIO_CONFIG, retry=None, timeout=None ) mock_gcp_hook.return_value.upload.assert_called_once_with( bucket_name=TARGET_BUCKET_NAME, object_name=TARGET_FILENAME, filename=ANY )
def test_missing_arguments( self, missing_arg, input_data, voice, audio_config, target_bucket_name, target_filename, mock_text_to_speech_hook, mock_gcp_hook, ): with self.assertRaises(AirflowException) as e: 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={"task_instance": Mock()}) err = e.exception self.assertIn(missing_arg, str(err)) mock_text_to_speech_hook.assert_not_called() mock_gcp_hook.assert_not_called()
MODEL = 'base' SOURCE_LANGUAGE = None # type: None # [END howto_operator_translate_speech_arguments] default_args = {"start_date": dates.days_ago(1)} with models.DAG( "example_gcp_speech", default_args=default_args, schedule_interval=None # Override to match your needs ) as dag: # [START howto_operator_text_to_speech_synthesize] text_to_speech_synthesize_task = CloudTextToSpeechSynthesizeOperator( project_id=GCP_PROJECT_ID, input_data=INPUT, voice=VOICE, audio_config=AUDIO_CONFIG, target_bucket_name=BUCKET_NAME, target_filename=FILENAME, task_id="text_to_speech_synthesize_task", ) # [END howto_operator_text_to_speech_synthesize] # [START howto_operator_speech_to_text_recognize] speech_to_text_recognize_task = CloudSpeechToTextRecognizeSpeechOperator( project_id=GCP_PROJECT_ID, config=CONFIG, audio=AUDIO, task_id="speech_to_text_recognize_task" ) # [END howto_operator_speech_to_text_recognize] text_to_speech_synthesize_task >> speech_to_text_recognize_task # [START howto_operator_translate_speech]