Beispiel #1
0
def test_thread_manager_add_interval_thread():
    manager = ThreadManager()
    target = mock.MagicMock()
    manager.add_interval_thread(target, interval=0.1)

    assert len(manager._threads) == 1
    assert manager._threads[0]._target is target
Beispiel #2
0
def test_thread_manager_contextmanager():
    mock_thread_1 = mock.MagicMock(spec=StoppableThread)
    mock_thread_2 = mock.MagicMock(spec=StoppableThread)

    manager = ThreadManager()
    manager.add_threads(mock_thread_1, mock_thread_2)

    with manager:
        time.sleep(0.1)

    mock_thread_1.start.assert_called_once()
    mock_thread_2.start.assert_called_once()

    mock_thread_1.stop.assert_called_once()
    mock_thread_2.stop.assert_called_once()
Beispiel #3
0
def test_thread_manager_stop_threads():
    mock_thread_1 = mock.MagicMock(spec=StoppableThread)
    mock_thread_2 = mock.MagicMock(spec=StoppableThread)

    manager = ThreadManager()
    manager.add_threads(mock_thread_1, mock_thread_2)

    manager.start()
    manager.stop()

    mock_thread_1.stop.assert_called_once()
    mock_thread_2.stop.assert_called_once()
Beispiel #4
0
def test_thread_manager_starts_threads_if_started():
    manager = ThreadManager()
    manager.start()

    assert manager._started

    mock_thread_1 = mock.MagicMock(spec=StoppableThread)
    manager.add_thread(mock_thread_1)

    mock_thread_1.start.assert_called_once()
Beispiel #5
0
def test_thread_manager_stop_threads_exception():
    mock_thread_1 = mock.MagicMock(spec=StoppableThread)
    mock_thread_1.stop.side_effect = ValueError
    mock_thread_2 = mock.MagicMock(spec=StoppableThread)

    manager = ThreadManager()
    manager.add_threads(mock_thread_1, mock_thread_2)

    manager.stop()

    mock_thread_1.stop.assert_called_once()
    mock_thread_2.stop.assert_called_once()