def setUp(self): self.client = TransmissionClient( TransmissionURL(port=65534) ) self.session = self.client.session()
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)