Пример #1
0
async def test_task_watch_timeout():
    parent, child = MockTask(), MockTask()
    mgr = TaskManager(parent)
    mgr.emit_child_error = AsyncMock()
    child.wait_for_scheduling = AsyncMock()
    child.future.done = Mock(return_value=False)
    await mgr._init_timeout_check(child, 0)
    child.wait_for_scheduling.assert_called()
    parent.cluster.destroy.assert_called_with(child.id)
    mgr.emit_child_error.assert_called()
Пример #2
0
async def test_task_watch_ok():
    parent, child = MockTask(), MockTask()
    mgr = TaskManager(parent)
    mgr.conns[Mock()] = child.id  # register connection
    mgr.emit_child_error = AsyncMock()
    child.wait_for_scheduling = AsyncMock()
    child.future.done = Mock(return_value=False)
    await mgr._init_timeout_check(child, 0)
    child.wait_for_scheduling.assert_called()
    parent.cluster.kill.assert_not_called()
    mgr.emit_child_error.assert_not_called()
Пример #3
0
async def test_child_lost():
    conn = Mock()
    parent, child = MockTask(), MockTask()
    mgr = TaskManager(parent)
    child.conn = conn
    mgr.conns[conn] = child.id
    mgr[child.id] = child
    mgr.emit_child_error = AsyncMock()

    await mgr.on_child_close(conn)
    assert child.conn is None
    assert conn not in mgr.conns
    mgr.emit_child_error.assert_called()