def test_synthesize_speech_flattened(): client = TextToSpeechClient(credentials=credentials.AnonymousCredentials()) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( type(client._transport.synthesize_speech), "__call__" ) as call: # Designate an appropriate return value for the call. call.return_value = cloud_tts.SynthesizeSpeechResponse() # Call the method with a truthy value for each flattened field, # using the keyword arguments to the method. response = client.synthesize_speech( input=cloud_tts.SynthesisInput(text="text_value"), voice=cloud_tts.VoiceSelectionParams(language_code="language_code_value"), audio_config=cloud_tts.AudioConfig( audio_encoding=cloud_tts.AudioEncoding.LINEAR16 ), ) # Establish that the underlying call was made with the expected # request object values. assert len(call.mock_calls) == 1 _, args, _ = call.mock_calls[0] assert args[0].input == cloud_tts.SynthesisInput(text="text_value") assert args[0].voice == cloud_tts.VoiceSelectionParams( language_code="language_code_value" ) assert args[0].audio_config == cloud_tts.AudioConfig( audio_encoding=cloud_tts.AudioEncoding.LINEAR16 )
def test_synthesize_speech_flattened_error(): client = TextToSpeechClient(credentials=credentials.AnonymousCredentials()) # Attempting to call a method with both a request object and flattened # fields is an error. with pytest.raises(ValueError): client.synthesize_speech( cloud_tts.SynthesizeSpeechRequest(), input=cloud_tts.SynthesisInput(text="text_value"), voice=cloud_tts.VoiceSelectionParams(language_code="language_code_value"), audio_config=cloud_tts.AudioConfig( audio_encoding=cloud_tts.AudioEncoding.LINEAR16 ), )