Пример #1
0
 def test_add_get(self):
     table = ConversationTable()
     conversation = StubConversation()
     table.add_conversation("127.0.0.1", "3942", conversation)
     self.assertEqual(table.get_conversation("127.0.0.1", "3942"),
                      conversation)
     self.assertTrue(table.lock._RLock__count == 0)
Пример #2
0
 def test_add_delete(self):
     table = ConversationTable()
     conversation = StubConversation()
     table.add_conversation("127.0.0.1", "3942", conversation)
     self.assertTrue(table.delete_conversation("127.0.0.1", "3942"))
     self.assertIsNone(table.get_conversation("127.0.0.1", "3942"))
     self.assertTrue(table.lock._RLock__count == 0)
 def test_add_delete(self):
     table = ConversationTable()
     conversation = StubConversation()
     table.add_conversation("127.0.0.1", "3942", conversation)
     self.assertTrue(table.delete_conversation("127.0.0.1", "3942"))
     self.assertIsNone(table.get_conversation("127.0.0.1", "3942"))
     self.assertTrue(table.lock._RLock__count == 0)
 def test_add_get(self):
     table = ConversationTable()
     conversation = StubConversation()
     table.add_conversation("127.0.0.1", "3942", conversation)
     self.assertEqual(table.get_conversation("127.0.0.1", "3942"),
                      conversation)
     self.assertTrue(table.lock._RLock__count == 0)
Пример #5
0
 def test_find_and_handle_stale_conversations(self):
     conversation = StubConversation(12344)
     conversation.retries_made = 6
     table = ConversationTable()
     table.add_conversation("stub_host", "stub_port", conversation)
     performer = Performer(self.sock, table, 10, 6)
     performer.find_and_handle_stale_conversations()
     self.assertEqual(len(table), 0)
Пример #6
0
 def test_find_and_handle_stale_conversations(self):
     conversation = StubConversation(12344)
     conversation.retries_made = 6
     table = ConversationTable()
     table.add_conversation("stub_host", "stub_port", conversation)
     performer = Performer(self.sock, table, 10, 6)
     performer.find_and_handle_stale_conversations()
     self.assertEqual(len(table), 0)
Пример #7
0
 def test_get_conversation_old_with_data_packet(self):
     conversation_table = ConversationTable()
     packet = packets.DataPacket('stub block number', 'stub data')
     old_conversation = TFTPConversation('10.26.0.1', 3942, 'stub_router')
     conversation_table.add_conversation('10.26.0.1', 3942, old_conversation)
     reactor = Reactor('stub_socket', 'stub_router', conversation_table)
     conversation = reactor.get_conversation('10.26.0.1', 3942, packet)
     self.assertEqual(len(conversation_table), 1)
     self.assertTrue(isinstance(conversation, TFTPConversation))
     self.assertEqual(conversation, old_conversation)
Пример #8
0
 def test_conversations(self):
     table = ConversationTable()
     conversation_one = StubConversation()
     table.add_conversation("10.0.0.1", "3942", conversation_one)
     conversation_two = StubConversation()
     table.add_conversation("10.0.0.2", "3942", conversation_two)
     # Either order of returned results is fine
     self.assertTrue(
         table.conversations == [conversation_one, conversation_two]
         or table.conversations == [conversation_two, conversation_one],
         "conversations retrieved don't match")
Пример #9
0
 def test_handle_stale_conversation_giveup(self):
     conversation = StubConversation(12344)
     conversation.retries_made = 6
     table = ConversationTable()
     table.add_conversation("stub_host", "stub_port", conversation)
     performer = Performer(self.sock, table, 10, 6)
     performer._handle_stale_conversation(conversation)
     self.assertEqual(self.sock.sent_data,
         '\x00\x05\x00\x00Conversation Timed Out\x00')
     self.assertEqual(self.sock.sent_addr, ("stub_host", "stub_port"))
     self.assertIsNone(table.get_conversation("stub_host", "stub_port"), None)
Пример #10
0
 def test_conversations(self):
     table = ConversationTable()
     conversation_one = StubConversation()
     table.add_conversation("10.0.0.1", "3942", conversation_one)
     conversation_two = StubConversation()
     table.add_conversation("10.0.0.2", "3942", conversation_two)
     # Either order of returned results is fine
     self.assertTrue(
         table.conversations == [conversation_one, conversation_two]
         or table.conversations == [conversation_two, conversation_one],
         "conversations retrieved don't match")
Пример #11
0
 def test_get_conversation_old_with_data_packet(self):
     conversation_table = ConversationTable()
     packet = packets.DataPacket('stub block number', 'stub data')
     old_conversation = TFTPConversation('10.26.0.1', 3942, 'stub_router')
     conversation_table.add_conversation('10.26.0.1', 3942,
                                         old_conversation)
     reactor = Reactor('stub_socket', 'stub_router', conversation_table)
     conversation = reactor.get_conversation('10.26.0.1', 3942, packet)
     self.assertEqual(len(conversation_table), 1)
     self.assertTrue(isinstance(conversation, TFTPConversation))
     self.assertEqual(conversation, old_conversation)
Пример #12
0
 def test_handle_stale_conversation_giveup(self):
     conversation = StubConversation(12344)
     conversation.retries_made = 6
     table = ConversationTable()
     table.add_conversation("stub_host", "stub_port", conversation)
     performer = Performer(self.sock, table, 10, 6)
     performer._handle_stale_conversation(conversation)
     self.assertEqual(self.sock.sent_data,
                      '\x00\x05\x00\x00Conversation Timed Out\x00')
     self.assertEqual(self.sock.sent_addr, ("stub_host", "stub_port"))
     self.assertIsNone(table.get_conversation("stub_host", "stub_port"),
                       None)