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)
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)
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)
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)
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)
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")
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)
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")
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)
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)