Пример #1
0
 def setUp(self):
     self.client = TransmissionClient( TransmissionURL(port=65534) )
     self.session = self.client.session()
Пример #2
0
class TransmissionClientTests(unittest.TestCase):
    def setUp(self):
        self.client = TransmissionClient( TransmissionURL(port=65534) )
        self.session = self.client.session()

    def testSessionGetValue(self):
        utp_mr = self.session['utp-enabled'].mr
        utp_hr = self.session['utp-enabled'].hr
        self.assertTrue(type(self.session['utp-enabled'].mr) is bool)
        self.assertTrue(type(self.session['utp-enabled'].hr) is unicode)

    def testSessionChangeValue(self):
        # Store original setting
        store = self.session['peer-limit-global'].mr

        # Change value
        self.session['peer-limit-global'] = 10000
        self.session.push()
        del self.session
        self.session = self.client.session()
        self.assertEqual(self.session['peer-limit-global'].mr, 10000)

        # Change value, but 'forget' to push() it
        self.session['peer-limit-global'] = 10
        del self.session
        self.session = self.client.session()
        self.assertEqual(self.session['peer-limit-global'].mr, 10000)

        # Restore original setting
        self.session['peer-limit-global'] = store
        self.session.push()

    def testAddListDelTorrent(self):
        tid = self.client.add_torrent(torrentlinks.pop(0))
        self.assertTrue(type(tid) is int)

        tlist = self.client.torrents(ids=[tid], keys=['id', 'name'])
        self.assertEqual(tlist[0]['id'].mr, tid)
        self.assertTrue(type(tlist[0]['name'].hr) is unicode)

        self.client.delete_torrents([tid], delete_files=True)
        tlist = self.client.torrents(keys=['id'])
        self.assertNotIn(tid, [t['id'] for t in tlist])

    def testMoveTorrent(self):
        tid = self.client.add_torrent(torrentlinks.pop(0))
        self.client.move_torrents([tid], os.environ['HOME'])
        tlist = self.client.torrents(ids=[tid], keys=['downloadDir'])
        self.assertEqual(tlist[0]['downloadDir'].hr, '~/')
        self.client.delete_torrents([tid], delete_files=True)

    def testChangeTorrentValues(self):
        tid = self.client.add_torrent(torrentlinks.pop(0))
        torrent = self.client.torrents(ids=[tid],
                                       keys=['uploadLimit', 'eta'])[0]
        torrent['uploadLimit'] = 123
        torrent.push()
        self.assertEqual(torrent['uploadLimit'].hr, '123 B/s')
        self.assertRaises(TransmissionRPCError, torrent.__setitem__, 'eta', 10)
        self.client.delete_torrents([tid], delete_files=True)