[Core] Add tests for pausing and resuming torrents
This commit is contained in:
parent
585ea88f1f
commit
ae9bbdbae7
|
@ -115,6 +115,21 @@ class CoreTestCase(BaseTestCase):
|
||||||
|
|
||||||
return component.shutdown().addCallback(on_shutdown)
|
return component.shutdown().addCallback(on_shutdown)
|
||||||
|
|
||||||
|
def add_torrent(self, filename, paused=False):
|
||||||
|
if not paused:
|
||||||
|
# Patch libtorrent flags starting torrents paused
|
||||||
|
self.patch(
|
||||||
|
deluge.core.torrentmanager,
|
||||||
|
'LT_DEFAULT_ADD_TORRENT_FLAGS',
|
||||||
|
592,
|
||||||
|
)
|
||||||
|
options = {'add_paused': paused, 'auto_managed': False}
|
||||||
|
filepath = common.get_test_data_file(filename)
|
||||||
|
with open(filepath, 'rb') as _file:
|
||||||
|
filedump = b64encode(_file.read())
|
||||||
|
torrent_id = self.core.add_torrent_file(filename, filedump, options)
|
||||||
|
return torrent_id
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_add_torrent_files(self):
|
def test_add_torrent_files(self):
|
||||||
options = {}
|
options = {}
|
||||||
|
@ -210,6 +225,92 @@ class CoreTestCase(BaseTestCase):
|
||||||
torrent_id = yield self.core.add_torrent_magnet(uri, options)
|
torrent_id = yield self.core.add_torrent_magnet(uri, options)
|
||||||
self.assertEqual(torrent_id, info_hash)
|
self.assertEqual(torrent_id, info_hash)
|
||||||
|
|
||||||
|
def test_resume_torrent(self):
|
||||||
|
tid1 = self.add_torrent('test.torrent', paused=True)
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent', paused=True)
|
||||||
|
# Assert paused
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertTrue(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertTrue(r2['paused'])
|
||||||
|
|
||||||
|
self.core.resume_torrent(tid2)
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertTrue(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertFalse(r2['paused'])
|
||||||
|
|
||||||
|
def test_resume_torrent_list(self):
|
||||||
|
"""Backward compatibility for list of torrent_ids."""
|
||||||
|
torrent_id = self.add_torrent('test.torrent', paused=True)
|
||||||
|
self.core.resume_torrent([torrent_id])
|
||||||
|
result = self.core.get_torrent_status(torrent_id, ['paused'])
|
||||||
|
self.assertFalse(result['paused'])
|
||||||
|
|
||||||
|
def test_resume_torrents(self):
|
||||||
|
tid1 = self.add_torrent('test.torrent', paused=True)
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent', paused=True)
|
||||||
|
self.core.resume_torrents([tid1, tid2])
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertFalse(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertFalse(r2['paused'])
|
||||||
|
|
||||||
|
def test_resume_torrents_all(self):
|
||||||
|
"""With no torrent_ids param, resume all torrents"""
|
||||||
|
tid1 = self.add_torrent('test.torrent', paused=True)
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent', paused=True)
|
||||||
|
self.core.resume_torrents()
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertFalse(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertFalse(r2['paused'])
|
||||||
|
|
||||||
|
def test_pause_torrent(self):
|
||||||
|
tid1 = self.add_torrent('test.torrent')
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent')
|
||||||
|
# Assert not paused
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertFalse(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertFalse(r2['paused'])
|
||||||
|
|
||||||
|
self.core.pause_torrent(tid2)
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertFalse(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertTrue(r2['paused'])
|
||||||
|
|
||||||
|
def test_pause_torrent_list(self):
|
||||||
|
"""Backward compatibility for list of torrent_ids."""
|
||||||
|
torrent_id = self.add_torrent('test.torrent')
|
||||||
|
result = self.core.get_torrent_status(torrent_id, ['paused'])
|
||||||
|
self.assertFalse(result['paused'])
|
||||||
|
self.core.pause_torrent([torrent_id])
|
||||||
|
result = self.core.get_torrent_status(torrent_id, ['paused'])
|
||||||
|
self.assertTrue(result['paused'])
|
||||||
|
|
||||||
|
def test_pause_torrents(self):
|
||||||
|
tid1 = self.add_torrent('test.torrent')
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent')
|
||||||
|
|
||||||
|
self.core.pause_torrents([tid1, tid2])
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertTrue(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertTrue(r2['paused'])
|
||||||
|
|
||||||
|
def test_pause_torrents_all(self):
|
||||||
|
"""With no torrent_ids param, pause all torrents"""
|
||||||
|
tid1 = self.add_torrent('test.torrent')
|
||||||
|
tid2 = self.add_torrent('test_torrent.file.torrent')
|
||||||
|
|
||||||
|
self.core.pause_torrents()
|
||||||
|
r1 = self.core.get_torrent_status(tid1, ['paused'])
|
||||||
|
self.assertTrue(r1['paused'])
|
||||||
|
r2 = self.core.get_torrent_status(tid2, ['paused'])
|
||||||
|
self.assertTrue(r2['paused'])
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_remove_torrent(self):
|
def test_remove_torrent(self):
|
||||||
options = {}
|
options = {}
|
||||||
|
|
Loading…
Reference in New Issue