2006-10-08 13:58:41 +00:00
|
|
|
"""Unit tests for tftpy."""
|
|
|
|
|
|
|
|
import unittest
|
2006-10-09 02:44:27 +00:00
|
|
|
import logging
|
2006-10-08 13:58:41 +00:00
|
|
|
import tftpy
|
|
|
|
|
|
|
|
class TestTftpy(unittest.TestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
2006-10-09 02:44:27 +00:00
|
|
|
tftpy.setLogLevel(logging.INFO)
|
2006-10-08 13:58:41 +00:00
|
|
|
|
|
|
|
def testTftpPacketRRQ(self):
|
|
|
|
options = {}
|
|
|
|
rrq = tftpy.TftpPacketRRQ()
|
|
|
|
rrq.filename = 'myfilename'
|
|
|
|
rrq.mode = 'octet'
|
|
|
|
rrq.options = options
|
|
|
|
rrq.encode()
|
|
|
|
self.assert_(rrq.buffer != None, "Buffer populated")
|
|
|
|
rrq.decode()
|
|
|
|
self.assertEqual(rrq.filename, "myfilename", "Filename correct")
|
|
|
|
self.assertEqual(rrq.mode, "octet", "Mode correct")
|
|
|
|
self.assertEqual(rrq.options, options, "Options correct")
|
|
|
|
|
2006-10-09 02:47:59 +00:00
|
|
|
def testTftpPacketWRQ(self):
|
|
|
|
options = {}
|
|
|
|
wrq = tftpy.TftpPacketWRQ()
|
|
|
|
wrq.filename = 'myfilename'
|
|
|
|
wrq.mode = 'octet'
|
|
|
|
wrq.options = options
|
|
|
|
wrq.encode()
|
|
|
|
self.assert_(wrq.buffer != None, "Buffer populated")
|
|
|
|
wrq.decode()
|
2006-10-11 03:58:39 +00:00
|
|
|
self.assertEqual(wrq.opcode, 2, "Opcode correct")
|
2006-10-09 02:47:59 +00:00
|
|
|
self.assertEqual(wrq.filename, "myfilename", "Filename correct")
|
|
|
|
self.assertEqual(wrq.mode, "octet", "Mode correct")
|
|
|
|
self.assertEqual(wrq.options, options, "Options correct")
|
|
|
|
|
2006-10-11 03:58:39 +00:00
|
|
|
def testTftpPacketDAT(self):
|
|
|
|
dat = tftpy.TftpPacketDAT()
|
|
|
|
dat.blocknumber = 5
|
|
|
|
data = "this is some data"
|
|
|
|
dat.data = data
|
|
|
|
dat.encode()
|
|
|
|
self.assert_(dat.buffer != None, "Buffer populated")
|
|
|
|
dat.decode()
|
|
|
|
self.assertEqual(dat.opcode, 3, "DAT opcode is correct")
|
|
|
|
self.assertEqual(dat.blocknumber, 5, "Block number is correct")
|
|
|
|
self.assertEqual(dat.data, data, "DAT data is correct")
|
|
|
|
|
|
|
|
def testTftpPacketACK(self):
|
|
|
|
ack = tftpy.TftpPacketACK()
|
|
|
|
ack.blocknumber = 6
|
|
|
|
ack.encode()
|
|
|
|
self.assert_(ack.buffer != None, "Buffer populated")
|
|
|
|
ack.decode()
|
|
|
|
self.assertEqual(ack.opcode, 4, "ACK opcode is correct")
|
|
|
|
self.assertEqual(ack.blocknumber, 6, "ACK blocknumber correct")
|
|
|
|
|
|
|
|
def testTftpPacketERR(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
def testTftpPacketOACK(self):
|
|
|
|
pass
|
|
|
|
|
2006-10-08 13:58:41 +00:00
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|