Exemplo n.º 1
0
 def test_ping_with_response(self):
     # Client creates a query
     ping_msg = message.OutgoingPingQuery(tc.CLIENT_ID)
     q = Query(ping_msg, tc.SERVER_NODE)
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     time.sleep(1)
     # The server creates a response
     ping_r_msg_out = message.OutgoingPingResponse(tc.SERVER_ID)
     bencoded_r = ping_r_msg_out.encode(tc.TID)
     # The client receives the bencoded message
     ping_r_in = message.IncomingMsg(bencoded_r, tc.SERVER_ADDR)
     q.on_response_received(ping_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is None
Exemplo n.º 2
0
 def test_ping_with_response(self):
     # Client creates a query
     ping_msg = message.OutgoingPingQuery(tc.CLIENT_ID)
     q = Query(ping_msg, tc.SERVER_NODE)
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     time.sleep(1)
     # The server creates a response
     ping_r_msg_out = message.OutgoingPingResponse(tc.SERVER_ID)
     bencoded_r = ping_r_msg_out.encode(tc.TID)
     # The client receives the bencoded message
     ping_r_in = message.IncomingMsg(bencoded_r,
                                     tc.SERVER_ADDR)
     q.on_response_received(ping_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is None
Exemplo n.º 3
0
 def test_find_node_with_error(self):
     # Client creates a query
     fn_msg = message.OutgoingFindNodeQuery(tc.CLIENT_ID, tc.TARGET_ID)
     # the destination's ID is unknown
     q = Query(fn_msg, node.Node(tc.SERVER_ADDR))
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     # The server creates a response
     fn_r_out = message.OutgoingErrorMsg(message.GENERIC_E)
     bencoded_fn_r = fn_r_out.encode(tc.TID)
     time.sleep(1)
     # The client receives the bencoded message
     fn_r_in = message.IncomingMsg(bencoded_fn_r, tc.SERVER_ADDR)
     q.on_error_received(fn_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is None
Exemplo n.º 4
0
 def test_find_node_with_error(self):
     # Client creates a query
     fn_msg = message.OutgoingFindNodeQuery(tc.CLIENT_ID,
                                            tc.TARGET_ID)
     # the destination's ID is unknown
     q = Query(fn_msg, node.Node(tc.SERVER_ADDR))
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     # The server creates a response
     fn_r_out = message.OutgoingErrorMsg(message.GENERIC_E)
     bencoded_fn_r = fn_r_out.encode(tc.TID)
     time.sleep(1)
     # The client receives the bencoded message
     fn_r_in = message.IncomingMsg(bencoded_fn_r,
                                   tc.SERVER_ADDR)
     q.on_error_received(fn_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is None
Exemplo n.º 5
0
 def test_get_peers_with_response(self):
     # Client creates a query
     fn_msg = message.OutgoingGetPeersQuery(tc.CLIENT_ID, tc.INFO_HASH)
     # the destination's ID is unknown
     # This query belongs to a lookup
     q = Query(fn_msg, node.Node(tc.SERVER_ADDR), LOOKUP_OBJ)
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     # The server creates a response
     fn_r_out = message.OutgoingGetPeersResponse(tc.SERVER_ID,
                                                 nodes=tc.NODES)
     bencoded_fn_r = fn_r_out.encode(tc.TID)
     time.sleep(1)
     # The client receives the bencoded message
     fn_r_in = message.IncomingMsg(bencoded_fn_r, tc.SERVER_ADDR)
     q.on_response_received(fn_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is LOOKUP_OBJ
Exemplo n.º 6
0
 def test_get_peers_with_response(self):
     # Client creates a query
     fn_msg = message.OutgoingGetPeersQuery(tc.CLIENT_ID,
                                            tc.INFO_HASH)
     # the destination's ID is unknown
     # This query belongs to a lookup
     q = Query(fn_msg, node.Node(tc.SERVER_ADDR), LOOKUP_OBJ)
     # Querier.register_query sets a TID and timeout_task
     q.tid = tc.TID
     q.timeout_task = minitwisted.Task(TIMEOUT_DELAY, None)
     q.query_ts = time.time()
     # The query is sent
     # The server creates a response
     fn_r_out = message.OutgoingGetPeersResponse(tc.SERVER_ID,
                                                 nodes=tc.NODES)
     bencoded_fn_r = fn_r_out.encode(tc.TID)
     time.sleep(1)
     # The client receives the bencoded message
     fn_r_in = message.IncomingMsg(bencoded_fn_r,
                                   tc.SERVER_ADDR)
     q.on_response_received(fn_r_in)
     assert 1 < q.rtt < 1.1
     assert q.lookup_obj is LOOKUP_OBJ