Example #1
0
def test_tracker_warning_alert(test_download):
    """
    Test whether a tracking warning alert is processed correctly
    """
    url = "http://google.com"
    mock_alert = MockObject()
    mock_alert.category = lambda: lt.alert.category_t.error_notification
    mock_alert.url = url
    mock_alert.message = lambda: 'test'
    test_download.process_alert(mock_alert, 'tracker_warning_alert')
    assert test_download.tracker_status[url][1] == 'Warning: test'
Example #2
0
def test_process_error_alert(test_download):
    """
    Testing whether error alerts are processed correctly
    """
    url = "http://google.com"
    mock_alert = MockObject()
    mock_alert.msg = None
    mock_alert.category = lambda: lt.alert.category_t.error_notification
    mock_alert.status_code = 123
    mock_alert.url = url
    test_download.process_alert(mock_alert, 'tracker_error_alert')
    assert test_download.tracker_status[url][1] == 'HTTP status code 123'

    mock_alert.status_code = 0
    test_download.process_alert(mock_alert, 'tracker_error_alert')
    assert test_download.tracker_status[url][1] == 'Timeout'
Example #3
0
def test_torrent_checked_alert(mock_handle, test_download):
    """
    Testing whether the right operations happen after a torrent checked alert is received
    """
    def mocked_pause_checkpoint():
        mocked_pause_checkpoint.called = True
        return succeed(None)

    mocked_pause_checkpoint.called = False
    test_download.handle.pause = mocked_pause_checkpoint
    test_download.checkpoint = mocked_pause_checkpoint

    mock_alert = MockObject()
    mock_alert.category = lambda: lt.alert.category_t.error_notification
    test_download.pause_after_next_hashcheck = True
    test_download.process_alert(mock_alert, 'torrent_checked_alert')
    assert not test_download.pause_after_next_hashcheck
    assert mocked_pause_checkpoint.called

    mocked_pause_checkpoint.called = False
    test_download.checkpoint_after_next_hashcheck = True
    test_download.process_alert(mock_alert, 'torrent_checked_alert')
    assert not test_download.checkpoint_after_next_hashcheck
    assert mocked_pause_checkpoint.called