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'
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'
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