in tts/integration_test/tts_integration.py [0:0]
def test_plain_text_using_polly_class(self):
from tts.services.amazonpolly import AmazonPolly
polly = AmazonPolly()
test_text = 'Mary has a little lamb, little lamb, little lamb.'
res = polly.synthesize(text=test_text)
self.assertIsNotNone(res)
self.assertTrue(type(res) is Polly.Response)
r = json.loads(res.result)
self.assertIn('Audio Type', r, 'result should contain audio type')
self.assertIn('Audio File', r, 'result should contain file path')
self.assertIn('Amazon Polly Response Metadata', r, 'result should contain metadata')
audio_type = r['Audio Type']
audio_file = r['Audio File']
md = r['Amazon Polly Response Metadata']
self.assertTrue("'HTTPStatusCode': 200," in md)
self.assertEqual('audio/pcm', audio_type)
self.assertTrue(audio_file.endswith('.wav'))
import subprocess
o = subprocess.check_output(['file', audio_file], stderr=subprocess.STDOUT)
import re
m = re.search(r'.*WAVE audio.*', o.decode('utf-8'), flags=re.MULTILINE)
self.assertIsNotNone(m)