async def test_get_chunk_audio(self): a_s = audio_fakes.SilentAudioSource() chunk = await a_s.get_chunk() sample = b'\0\0' * 1600 self.assertEqual(3200, len(chunk.audio)) self.assertEqual(sample, chunk.audio) chunk = await a_s.get_chunk() self.assertEqual(b'\0' * len(chunk.audio), chunk.audio)
async def test_transcribe(self): with mock.patch('websockets.connect') as mock_ws: fake_ws = FakeWatsonWS() mock_ws.return_value = fake_ws.connect() ts = transcriber.WatsonTranscriber(audio_fakes.SilentAudioSource(), 16000, 'fakeuser', 'fakepass') handler = EvHandler(ts) ts.register_event_handler(handler.handle) async with ts: await handler.called.wait()
async def test_get_chunk_audio(self): a_s = audio_fakes.SilentAudioSource() block = await a_s.__anext__() chunk = await block.__anext__() sample = b'\0' self.assertAlmostEqual(3200, len(chunk.audio), delta=4) self.assertEqual(sample * len(chunk.audio), chunk.audio) chunk = await block.__anext__() self.assertEqual(b'\0' * len(chunk.audio), chunk.audio)
async def test_get_chunk_delay(self): a_s = audio_fakes.SilentAudioSource() start_time = time.time() await a_s.get_chunk() self.assertAlmostEqual(start_time, time.time(), delta=.01) await a_s.get_chunk() self.assertAlmostEqual(start_time + .1, time.time(), delta=.2) await a_s.get_chunk() self.assertAlmostEqual(start_time + .2, time.time(), delta=.2)
async def test_get_silent_chunk(self): a_s = audio.SquelchedSource(audio_fakes.SilentAudioSource(), squelch_level=0) async with a_s.listen(): with self.assertRaises(asyncio.TimeoutError): await asyncio.wait_for(a_s.get_chunk(), .2)
async def test_detect_silent_level(self): a_s = audio.SquelchedSource(audio_fakes.SilentAudioSource()) level = await a_s.detect_squelch_level(detect_time=.2) self.assertEqual(level, a_s.squelch_level) self.assertEqual(0, level)
async def test_event_handler(self): ts = FakeTranscriber(audio_fakes.SilentAudioSource()) handler = EvHandler(ts) ts.register_event_handler(handler.handle) async with ts: await handler.called.wait()
async def test_event_handler(self): ts = FakeTranscriber(audio_fakes.SilentAudioSource()) handler = EvHandler(ts) ts.register_event_handler(handler.handle) await ts.transcribe() self.assertEqual(handler.called, True)