Beispiel #1
0
async def test_handle_voice():
    handler = RequestHandler()
    request = Mock()
    mock_telnyx = Mock()
    mock_telnyx.voice_2fa = CoroutineMock(return_value=True)
    request.app = {'telnyx': mock_telnyx}
    request.query = {'to': '+15055551212', 'token': '22'}
    request.headers = {'X-API-Key': 'foo'}

    mock_web = Mock()
    mock_web.HTTPUnauthorized = aiohttp.web_exceptions.HTTPUnauthorized
    mock_web.HTTPBadRequest = aiohttp.web_exceptions.HTTPBadRequest
    mock_web.HTTPServerError = aiohttp.web_exceptions.HTTPServerError
    mock_response = Mock()
    mock_response.prepare = CoroutineMock()
    mock_response.write = CoroutineMock()
    mock_response.write_eof = CoroutineMock()
    mock_web.StreamResponse.return_value = mock_response
    with patch('telnyx_2fa.app.web', mock_web):
        r = await handler.handle_voice(request)
    writes = mock_response.write.call_args_list
    assert json.loads(writes[0][0][0])['status'] == 'waiting'
    assert json.loads(writes[1][0][0])['status'] == 'success'