コード例 #1
0
 def test_udpsession_handle_packet(self):
     session = UdpTrackerSession("localhost", ("localhost", 4782), "/announce", 5)
     session.scraper = FakeScraper()
     session._action = 123
     session._transaction_id = 124
     self.assertFalse(session.is_failed)
     packet = struct.pack("!iiq", 123, 124, 126)
     session.handle_connection_response(packet)
     self.assertFalse(session.is_failed)
コード例 #2
0
 def test_udpsession_mismatch(self):
     session = UdpTrackerSession("localhost", ("localhost", 4782), "/announce", 5)
     session.scraper = FakeScraper()
     session._action = 123
     session._transaction_id = 124
     session._infohash_list = [1337]
     self.assertFalse(session.is_failed)
     packet = struct.pack("!ii", 123, 124)
     session.handle_response(packet)
     self.assertTrue(session.is_failed)
コード例 #3
0
    def test_udpsession_response_list_len_mismatch(self):
        session = UdpTrackerSession("localhost", ("localhost", 4782), "/announce", 5)
        session.scraper = FakeScraper()
        session.result_deferred = Deferred()

        def on_error(_):
            pass

        session.result_deferred.addErrback(on_error)
        session._action = 123
        session._transaction_id = 123
        self.assertFalse(session.is_failed)
        session._infohash_list = ["test", "test2"]
        packet = struct.pack("!iiiii", 123, 123, 0, 1, 2)
        session.handle_response(packet)
        self.assertTrue(session.is_failed)