def test_load_from_url(self): # Setup file server to serve torrent file self.session_base_dir = mkdtemp(suffix="_tribler_test_load_from_url") files_path = os.path.join(self.session_base_dir, 'http_torrent_files') os.mkdir(files_path) shutil.copyfile(TORRENT_UBUNTU_FILE, os.path.join(files_path, 'ubuntu.torrent')) file_server_port = get_random_port() self.setUpFileServer(file_server_port, files_path) def _on_load(torrent_def): torrent_def.metainfo = create_valid_metainfo( torrent_def.get_metainfo()) self.assertTrue(valid_torrent_file(torrent_def.get_metainfo())) self.assertEqual( torrent_def.get_metainfo(), TorrentDef.load(TORRENT_UBUNTU_FILE).get_metainfo()) self.assertEqual(torrent_def.infohash, TorrentDef.load(TORRENT_UBUNTU_FILE).infohash) torrent_url = 'http://localhost:%d/ubuntu.torrent' % file_server_port deferred = TorrentDef.load_from_url(torrent_url) deferred.addCallback(_on_load) return deferred
def test_setup(self): tdef = self.create_tdef() impl = LibtorrentDownloadImpl(self.session, tdef) def callback(_): impl.cancel_all_pending_tasks() deferred = impl.setup(None, None, 0) deferred.addCallback(callback) return deferred.addCallback(lambda _: impl.stop())