示例#1
0
    def test_fstat(self):
        self.server.input_queue = sftpcmd(
            SSH2_FXP_OPEN,
            sftpstring(b'services'),
            sftpint(SSH2_FXF_CREAT),
            sftpint(0)
        )
        self.server.process()
        handle = get_sftphandle(self.server.output_queue)

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(
            SSH2_FXP_FSTAT,
            sftpstring(handle)
        )
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], 0)
        self.assertEqual(stat['uid'], os.getuid())

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(
            SSH2_FXP_CLOSE,
            sftpstring(handle)
        )
        self.server.process()

        os.unlink('services')
示例#2
0
    def test_lstat(self):
        os.symlink("foo", "link")

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(SSH2_FXP_LSTAT, sftpstring(b'link'))
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], len("foo"))
        self.assertEqual(stat['uid'], os.getuid())

        os.unlink('link')
示例#3
0
    def test_lstat(self):
        os.symlink("foo", "link")

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(
            SSH2_FXP_LSTAT,
            sftpstring(b'link')
        )
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], len("foo"))
        self.assertEqual(stat['uid'], os.getuid())

        os.unlink('link')
示例#4
0
    def test_stat(self):
        with open("/etc/services") as f:
            with open("services", 'a') as f_bis:
                f_bis.write(f.read())

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(SSH2_FXP_STAT,
                                          sftpstring(b'services'))
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], os.path.getsize("/etc/services"))
        self.assertEqual(stat['uid'], os.getuid())

        os.unlink('services')
示例#5
0
    def test_stat(self):
        with open("/etc/services") as f:
            with open("services", 'a') as f_bis:
                f_bis.write(f.read())

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(
            SSH2_FXP_STAT,
            sftpstring(b'services')
        )
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], os.path.getsize("/etc/services"))
        self.assertEqual(stat['uid'], os.getuid())

        os.unlink('services')
示例#6
0
    def test_fstat(self):
        self.server.input_queue = sftpcmd(SSH2_FXP_OPEN,
                                          sftpstring(b'services'),
                                          sftpint(SSH2_FXF_CREAT), sftpint(0))
        self.server.process()
        handle = get_sftphandle(self.server.output_queue)

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(SSH2_FXP_FSTAT, sftpstring(handle))
        self.server.process()
        stat = get_sftpstat(self.server.output_queue)
        self.assertEqual(stat['size'], 0)
        self.assertEqual(stat['uid'], os.getuid())

        self.server.output_queue = b''
        self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
        self.server.process()

        os.unlink('services')