コード例 #1
0
ファイル: test.py プロジェクト: agreenbhm/GhittoPCM
    def testServerNoOptionsSubdir(self):
        raddress = '127.0.0.2'
        rport = 10000
        timeout = 5
        root = os.path.dirname(os.path.abspath(__file__))
        # Testing without the dyn_func_file set.
        serverstate = tftpy.TftpContextServer(raddress, rport, timeout, root)

        self.assertTrue(isinstance(serverstate, tftpy.TftpContextServer))

        rrq = tftpy.TftpPacketRRQ()
        rrq.filename = '50MBFILE'
        rrq.mode = 'octet'
        rrq.options = {}

        # Start the download.
        serverstate.start(rrq.encode().buffer)
        # At a 512 byte blocksize, this should be 201400 packets exactly.
        for block in range(1, 102401):
            # Should be in expectack state, or None
            self.assertTrue(
                isinstance(serverstate.state, tftpy.TftpStateExpectACK))
            ack = tftpy.TftpPacketACK()
            ack.blocknumber = block % 65536
            serverstate.state = serverstate.state.handle(ack, raddress, rport)

        # The last DAT packet should be empty, indicating a completed
        # transfer.
        ack = tftpy.TftpPacketACK()
        ack.blocknumber = 102401 % 65536
        finalstate = serverstate.state.handle(ack, raddress, rport)
        self.assertTrue(finalstate is None)
コード例 #2
0
ファイル: test.py プロジェクト: agreenbhm/GhittoPCM
    def testServerInsecurePath(self):
        raddress = '127.0.0.2'
        rport = 10000
        timeout = 5
        root = os.path.dirname(os.path.abspath(__file__))
        serverstate = tftpy.TftpContextServer(raddress, rport, timeout, root)
        rrq = tftpy.TftpPacketRRQ()
        rrq.filename = '../setup.py'
        rrq.mode = 'octet'
        rrq.options = {}

        # Start the download.
        self.assertRaises(tftpy.TftpException, serverstate.start,
                          rrq.encode().buffer)
コード例 #3
0
ファイル: test.py プロジェクト: agreenbhm/GhittoPCM
    def testServerSecurePath(self):
        raddress = '127.0.0.2'
        rport = 10000
        timeout = 5
        root = os.path.dirname(os.path.abspath(__file__))
        serverstate = tftpy.TftpContextServer(raddress, rport, timeout, root)
        rrq = tftpy.TftpPacketRRQ()
        rrq.filename = '50MBFILE'
        rrq.mode = 'octet'
        rrq.options = {}

        # Start the download.
        serverstate.start(rrq.encode().buffer)
        # Should be in expectack state.
        self.assertTrue(isinstance(serverstate.state,
                                   tftpy.TftpStateExpectACK))