class TrackerTests(unittest.TestCase): def setUp(self): c = Client() c.add_torrent('test.torrent') self.t = Tracker(c._torrent.announce, c._torrent.info_hash) with open('saved_init_response.p', 'rb') as f: self.start_response = pickle.load(f) def test_handle_response(self): attempt = self.t._handle_response(TrackerEvent.STARTED, self.start_response) self.assertEqual(self.t.interval, 1800, 'Bad Interval') self.assertEqual(self.t.min_interval, 1800, 'Bad Min Interval') complete = attempt['complete'] self.assertEqual(complete, 13, 'Bad Complete') incomplete = attempt['incomplete'] self.assertEqual(incomplete, 2, 'Bad Incomplete') peers = attempt['peers'] self.assertEqual(len(peers), 15, peers)