def test_readdir(self): f = {b'.', b'..', b'foo', b'bar'} os.mkdir("foo") os.close(os.open("bar", os.O_CREAT)) self.server.input_queue = sftpcmd(SSH2_FXP_OPENDIR, sftpstring(b'.')) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process() os.unlink("bar") os.rmdir("foo")
def test_readlink(self): os.symlink("infound", "foo") self.server.input_queue = sftpcmd( SSH2_FXP_READLINK, sftpstring(b'foo'), sftpint(0)) self.server.process() link = get_sftpname(self.server.output_queue) self.assertEqual(link, b"infound")
def test_readlink(self): os.symlink("infound", "foo") self.server.input_queue = sftpcmd(SSH2_FXP_READLINK, sftpstring(b'foo'), sftpint(0)) self.server.process() link = get_sftpname(self.server.output_queue) self.assertEqual(link, b"infound")
def test_readdir_broken_symlink(self): os.symlink("infound", "foo") self.server.input_queue = sftpcmd( SSH2_FXP_READLINK, sftpstring(b'foo'), sftpint(0)) self.server.process() link = get_sftpname(self.server.output_queue) self.assertEqual(link, b"infound") self.server.output_queue = b'' f = {b'.', b'..', b'foo'} self.server.input_queue = sftpcmd( SSH2_FXP_OPENDIR, sftpstring(b'.') ) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process()
def test_readdir_broken_symlink(self): os.symlink("infound", "foo") self.server.input_queue = sftpcmd(SSH2_FXP_READLINK, sftpstring(b'foo'), sftpint(0)) self.server.process() link = get_sftpname(self.server.output_queue) self.assertEqual(link, b"infound") self.server.output_queue = b'' f = {b'.', b'..', b'foo'} self.server.input_queue = sftpcmd(SSH2_FXP_OPENDIR, sftpstring(b'.')) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process()
def test_read_subdir(self): f = {b'.', b'..', b'bar'} # files inside foo os.mkdir("foo") foobar_path = os.path.join("foo", "bar") with open(foobar_path, 'a') as stream: print("foobar", file=stream) # bar_size = os.lstat(foobar_path).st_size self.server.input_queue = sftpcmd( SSH2_FXP_OPENDIR, sftpstring(b'foo') ) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process() rmtree("foo")
def test_readdir(self): f = {b'.', b'..', b'foo', b'bar'} os.mkdir("foo") os.close(os.open("bar", os.O_CREAT)) self.server.input_queue = sftpcmd( SSH2_FXP_OPENDIR, sftpstring(b'.') ) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process() os.unlink("bar") os.rmdir("foo")
def test_read_subdir(self): f = {b'.', b'..', b'bar'} # files inside foo os.mkdir("foo") foobar_path = os.path.join("foo", "bar") with open(foobar_path, 'a') as stream: print("foobar", file=stream) # bar_size = os.lstat(foobar_path).st_size self.server.input_queue = sftpcmd(SSH2_FXP_OPENDIR, sftpstring(b'foo')) self.server.process() handle = get_sftphandle(self.server.output_queue) l = set() while (True): # reset output queue self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_READDIR, sftpstring(handle), ) try: self.server.process() filename = get_sftpname(self.server.output_queue) l.add(filename) except: break self.assertEqual(l, f) self.server.output_queue = b'' self.server.input_queue = sftpcmd( SSH2_FXP_CLOSE, sftpstring(handle), ) self.server.process() rmtree("foo")