Example #1
0
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)