Esempio n. 1
0
async def test_dispatch_providers(route, event_loop):
    dispatcher = LoaferDispatcher([route])
    dispatcher._dispatch_tasks = CoroutineMock()
    dispatcher.stop_providers = Mock()
    await dispatcher.dispatch_providers(event_loop, forever=False)

    assert dispatcher._dispatch_tasks.called
    dispatcher._dispatch_tasks.assert_called_once_with(event_loop)
Esempio n. 2
0
async def test_dispatch_providers(route, event_loop):
    dispatcher = LoaferDispatcher([route])
    dispatcher._dispatch_tasks = CoroutineMock()
    dispatcher.stop_providers = Mock()
    await dispatcher.dispatch_providers(event_loop, forever=False)

    assert dispatcher._dispatch_tasks.called
    dispatcher._dispatch_tasks.assert_called_once_with(event_loop)
Esempio n. 3
0
async def test_message_processing(route):
    dispatcher = LoaferDispatcher([route])
    dispatcher.dispatch_message = CoroutineMock()
    await dispatcher._process_message('message', route)

    assert dispatcher.dispatch_message.called
    assert dispatcher.dispatch_message.called_called_once_with('message', route)
    assert route.provider.confirm_message.called
    assert route.provider.confirm_message.called_once_with('message')
Esempio n. 4
0
async def test_message_processing(route):
    dispatcher = LoaferDispatcher([route])
    dispatcher.dispatch_message = CoroutineMock()
    await dispatcher._process_message('message', route)

    assert dispatcher.dispatch_message.called
    dispatcher.dispatch_message.assert_called_once_with('message', route)
    assert route.provider.confirm_message.called
    route.provider.confirm_message.assert_called_once_with('message')
Esempio n. 5
0
async def test_process_route(route):
    dispatcher = LoaferDispatcher([route])
    dispatcher.dispatch_message = CoroutineMock()
    await dispatcher.process_route(route)

    assert route.provider.fetch_messages.called
    assert dispatcher.dispatch_message.called
    assert dispatcher.dispatch_message.called_called_once_with('message', route)
    assert route.provider.confirm_message.called
    assert route.provider.confirm_message.called_once_with('message')
Esempio n. 6
0
async def test_message_processing(route):
    dispatcher = LoaferDispatcher([route])
    dispatcher.dispatch_message = AsyncMock()
    await dispatcher._process_message("message", route)

    assert dispatcher.dispatch_message.called
    dispatcher.dispatch_message.assert_called_once_with("message", route)
    assert route.provider.confirm_message.called
    assert route.provider.message_not_processed.called is False
    route.provider.confirm_message.assert_called_once_with("message")
Esempio n. 7
0
async def test_dispatch_without_tasks(route, event_loop):
    route.provider.fetch_messages = CoroutineMock(return_value=[])
    dispatcher = LoaferDispatcher([route])
    dispatched = await dispatcher._dispatch_tasks(event_loop)

    assert len(dispatched) == 0
    assert route.provider.fetch_messages.called
Esempio n. 8
0
async def test_dispatch_tasks(route):
    route.provider.fetch_messages = CoroutineMock(return_value=['message'])
    dispatcher = LoaferDispatcher([route])
    await dispatcher._dispatch_tasks()

    assert route.provider.fetch_messages.called
    assert route.provider.confirm_message.called
Esempio n. 9
0
async def test_dispatch_tasks_disabled(route, event_loop):
    route.enabled = False
    dispatcher = LoaferDispatcher([route])
    dispatched = await dispatcher._dispatch_tasks(event_loop)

    assert len(dispatched) == 0
    assert route.provider.fetch_messages.called is False
Esempio n. 10
0
async def test_dispatch_invalid_message(route, message):
    route.deliver = CoroutineMock()
    dispatcher = LoaferDispatcher([route])

    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation is False
    assert route.deliver.called is False
Esempio n. 11
0
async def test_dispatch_without_tasks(route, event_loop):
    route.provider.fetch_messages = CoroutineMock(return_value=[])
    dispatcher = LoaferDispatcher([route])
    await dispatcher._dispatch_tasks()

    assert route.provider.fetch_messages.called
    assert route.provider.confirm_message.called is False
Esempio n. 12
0
async def test_dispatch_tasks(route):
    route.provider.fetch_messages = AsyncMock(return_value=["message"])
    dispatcher = LoaferDispatcher([route])
    await dispatcher._dispatch_tasks()

    assert route.provider.fetch_messages.called
    assert route.provider.confirm_message.called
    assert route.provider.message_not_processed.called is False
Esempio n. 13
0
async def test_dispatch_message_task_cancel(route):
    route.deliver = CoroutineMock(side_effect=asyncio.CancelledError)
    dispatcher = LoaferDispatcher([route])

    message = 'message'
    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation is False

    assert route.deliver.called
    route.deliver.assert_called_once_with(message)
Esempio n. 14
0
async def test_dispatch_message_task_delete_message(route):
    route.deliver = CoroutineMock(side_effect=DeleteMessage)
    dispatcher = LoaferDispatcher([route])

    message = 'rejected-message'
    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation is True

    assert route.deliver.called
    route.deliver.assert_called_once_with(message)
Esempio n. 15
0
async def test_dispatch_message(route):
    route.deliver = CoroutineMock(return_value='confirmation')
    dispatcher = LoaferDispatcher([route])

    message = 'foobar'
    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation == 'confirmation'

    assert route.deliver.called
    route.deliver.assert_called_once_with(message)
Esempio n. 16
0
async def test_dispatch_message(route):
    route.deliver = AsyncMock(return_value="confirmation")
    dispatcher = LoaferDispatcher([route])

    message = "foobar"
    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation == "confirmation"

    assert route.deliver.called
    route.deliver.assert_called_once_with(message)
Esempio n. 17
0
async def test_dispatch_message_task_error(route):
    exc = Exception()
    route.deliver = CoroutineMock(side_effect=exc)
    route.error_handler = CoroutineMock(return_value='confirmation')
    dispatcher = LoaferDispatcher([route])

    message = 'message'
    confirmation = await dispatcher.dispatch_message(message, route)
    assert confirmation == 'confirmation'

    assert route.deliver.called is True
    route.deliver.assert_called_once_with(message)
    assert route.error_handler.called is True
Esempio n. 18
0
def test_dispatcher_stop(route):
    route.stop = Mock()
    dispatcher = LoaferDispatcher([route])
    dispatcher.stop()
    assert route.stop.called
Esempio n. 19
0
async def test_dispatch_providers_with_error(route, event_loop):
    route.provider.fetch_messages.side_effect = ValueError
    dispatcher = LoaferDispatcher([route])
    with pytest.raises(ValueError):
        await dispatcher.dispatch_providers(forever=False)
Esempio n. 20
0
def test_dispatcher_stop(route):
    route.stop = Mock()
    dispatcher = LoaferDispatcher([route])
    dispatcher.stop()
    assert route.stop.called