def test_kill_handler_exits_successfully_when_done(mock_error_handler): with pytest.raises(SystemExit) as e: mock_pool = MagicMock() kill_handler([], mock_pool) mock_pool.terminate.assert_called() mock_error_handler.assert_not_called() assert 0 == e.value.code
def test_it_gracefully_handles_cleanup_issues(mock_error_handler): with pytest.raises(SystemExit): mock_pool = MagicMock() mock_msg = MagicMock() mock_error_handler.side_effect = ValueError() kill_handler([mock_msg, mock_msg], mock_pool) assert 2 == mock_error_handler.call_count mock_pool.terminate.assert_called()
def test_kill_handler_cleans_up(mock_error_handler): with pytest.raises(SystemExit) as e: mock_pool = MagicMock() mock_msg = MagicMock() kill_handler([mock_msg], mock_pool) mock_pool.terminate.assert_called() mock_error_handler.assert_called() assert 1 == e.value.code