コード例 #1
0
 def test_mark_retry(self):
     original_packet = packets.AcknowledgementPacket(3)
     conversation = TFTPConversation(self.client_host, self.client_port,
                                     StubResponseRouterTwo())
     conversation.cached_packet = original_packet
     retry_packet = conversation.mark_retry()
     self.assertEqual(conversation.retries_made, 1)
     self.assertEqual(retry_packet, original_packet)
コード例 #2
0
    def test_out_of_lock_step_block_num(self):
        packet = packets.DataPacket(2, "")
        conversation = TFTPConversation(self.client_host, self.client_port,
                                        StubResponseRouterTwo())
        conversation.cached_packet = "stub packet"
        conversation.state = tftp_conversation.WRITING
        conversation.current_block_num = 3
        response_packet = conversation.handle_packet(packet)

        self.assertEqual(conversation.state, tftp_conversation.WRITING)
        self.assertEqual(response_packet.__class__, packets.NoOpPacket)
コード例 #3
0
    def test_illegal_packet_type_during_writing_state(self):
        packet = packets.AcknowledgementPacket(2)
        conversation = TFTPConversation(self.client_host, self.client_port,
                                        StubResponseRouterTwo())
        conversation.cached_packet = "stub packet"
        conversation.state = tftp_conversation.WRITING
        conversation.read_buffer = StubReadBufferTwo()
        response_packet = conversation.handle_packet(packet)

        self.assertEqual(conversation.state, tftp_conversation.WRITING)
        self.assertEqual(response_packet.__class__, packets.ErrorPacket)
        self.assertEqual(response_packet.error_code, 0)
        self.assertEqual(conversation.cached_packet, "stub packet")