def testRxRrqWithBlkSizeExt2(self): d = '\x00\x01SomeFile\x00netascii\x00someOption\x00someVal\x00blksize\x00513\x00' pkt = tftpmessages.create_tftp_packet_from_data(d) self.assertIsNotNone(pkt, 'TFTP packet is None') self.assertEqual(pkt.opcode, tftpmessages.OPCODE_RRQ, 'TFTP opcode is not RRQ') self.assertEqual(pkt.fileName, 'SomeFile', 'RRQ File Name fail') self.assertEqual(pkt.mode, 'netascii', 'RRQ mode fail') self.assertTrue(pkt.options.has_key('blksize'), "RRQ doesn't contain blksize option") self.assertEqual(pkt.options['blksize'], '513', "RRQ blksize value")
def testRxWrq(self): ''' Test reception of a normal RRQ ''' d = '\x00\x02SomeFile\x00netascii\x00' pkt = tftpmessages.create_tftp_packet_from_data(d) self.assertIsNotNone(pkt, 'TFTP packet is None') self.assertEqual(pkt.opcode, tftpmessages.OPCODE_WRQ, 'TFTP opcode is not WRQ') self.assertEqual(pkt.fileName, 'SomeFile', 'RRQ File Name fail') self.assertEqual(pkt.mode, 'netascii', 'RRQ mode fail')
def testUnpackEmpty(self): data = '\x00\x03\xab\xcd' pkt = tftpmessages.create_tftp_packet_from_data(data) self.assertEqual(pkt.opcode, tftpmessages.OPCODE_DATA, 'Data type') self.assertEqual(pkt.blockNum, 0xabcd, 'block number') self.assertEqual(len(pkt.dataBlock), 0, 'empty data block')
def testUnpack(self): data = '\x00\x06blksize\x001024\x00' pkt = tftpmessages.create_tftp_packet_from_data(data) self.assertEqual(pkt.opcode, tftpmessages.OPCODE_OACK, 'OACK') self.assertTrue(pkt.options.has_key('blksize'), 'blksize') self.assertEqual(pkt.options['blksize'], '1024')
def testUnpack(self): data = '\x00\x03\xab\xcd1234567890' pkt = tftpmessages.create_tftp_packet_from_data(data) self.assertEqual(pkt.opcode, tftpmessages.OPCODE_DATA, 'Data type') self.assertEqual(pkt.blockNum, 0xabcd, 'block number') self.assertEqual(pkt.dataBlock, '1234567890', 'data block')