本文整理汇总了Python中pysftpserver.tests.utils.sftpstring函数的典型用法代码示例。如果您正苦于以下问题:Python sftpstring函数的具体用法?Python sftpstring怎么用?Python sftpstring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sftpstring函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_rename
def test_rename(self):
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(b'services'),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644)
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
# reset output queue
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_CLOSE,
sftpstring(handle),
)
self.server.process()
self.server.input_queue = sftpcmd(
SSH2_FXP_RENAME,
sftpstring(b'services'),
sftpstring(b'other_services'),
)
self.server.process()
self.assertIn('other_services', os.listdir('.'))
示例2: test_remove
def test_remove(self):
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(b'services'),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644)
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
# reset output queue
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_CLOSE,
sftpstring(handle)
)
self.server.process()
self.server.input_queue = sftpcmd(
SSH2_FXP_REMOVE,
sftpstring(b'services'),
sftpint(0)
)
self.server.process()
示例3: test_open_already_existing
def test_open_already_existing(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)
# reset output queue
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_CLOSE,
sftpstring(handle)
)
self.server.process()
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(b'services'),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_EXCL),
sftpint(0)
)
self.assertRaises(SFTPException, self.server.process)
os.unlink('services')
示例4: test_fstat
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')
示例5: test_rename
def test_rename(self, mock_request):
oldpath = b'services'
newpath = b'other_services'
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(oldpath),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644)
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_RENAME,
sftpstring(oldpath),
sftpstring(newpath),
)
self.server.process()
mock_request.assert_has_calls([
mock.ANY, # open
mock.ANY, # close
mock.call(
'POST', 'test_url/rename', auth=None,
data={
'method': 'rename', 'oldpath': oldpath,
'newpath': newpath}),
])
os.unlink(newpath)
示例6: test_open
def test_open(self, mock_request):
filename = b'services'
flags = SSH2_FXF_CREAT | SSH2_FXF_WRITE
perm = 0o100600
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(filename),
sftpint(flags),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(perm),
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
mock_request.assert_has_calls([
mock.call(
'POST', 'test_url/open', auth=None,
data={
'method': 'open', 'filename': filename,
'flags': self.server.get_explicit_flags(flags),
'attrs': {b'perm': perm}}),
mock.ANY, # close
])
os.unlink(filename)
示例7: test_rm
def test_rm(self, mock_request):
filename = b'services'
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(filename),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644)
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_REMOVE,
sftpstring(filename),
sftpint(0)
)
self.server.process()
mock_request.assert_has_calls([
mock.ANY, # open
mock.ANY, # close
mock.call(
'POST', 'test_url/rm', auth=None,
data={'method': 'rm', 'filename': filename}),
])
示例8: test_write
def test_write(self, mock_request):
filename = b'services'
write_offset = 5
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(filename),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE | SSH2_FXF_READ),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644),
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
chunk = open('/etc/services', 'rb').read()
self.server.input_queue = sftpcmd(
SSH2_FXP_WRITE,
sftpstring(handle),
sftpint64(write_offset),
sftpstring(chunk),
)
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
mock_request.assert_has_calls([
mock.ANY, # open
mock.call(
'POST', 'test_url/write', auth=None,
data={
'method': 'write', 'filename': filename,
'offset': write_offset}),
mock.ANY, # close
])
os.unlink(filename)
示例9: test_write
def test_write(self):
filename = b'services'
write_offset = 5
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(filename),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE | SSH2_FXF_READ),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644),
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
chunk = open('/etc/services', 'rb').read()
self.server.input_queue = sftpcmd(
SSH2_FXP_WRITE,
sftpstring(handle),
sftpint64(write_offset),
sftpstring(chunk),
)
self.server.process()
self.assertEqual(self.hook.get_result('write', 'filename'), filename)
self.assertEqual(self.hook.get_result('write', 'offset'), write_offset)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
os.unlink(filename)
示例10: test_opendir
def test_opendir(self, mock_request):
"""Additionally tests single url and multiple paths."""
self.server.hook = UrlRequestHook(
'test_url',
paths_mapping={
'opendir': ['test_path_1', 'test_path_2', 'test_path_3']})
dirname = b'foo'
os.mkdir(dirname)
self.server.input_queue = sftpcmd(SSH2_FXP_OPENDIR,
sftpstring(dirname))
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
mock_request.assert_has_calls([
mock.call(
'POST', 'test_url/test_path_1', auth=None,
data={'method': 'opendir', 'filename': dirname}),
mock.call(
'POST', 'test_url/test_path_2', auth=None,
data={'method': 'opendir', 'filename': dirname}),
mock.call(
'POST', 'test_url/test_path_3', auth=None,
data={'method': 'opendir', 'filename': dirname}),
mock.ANY, # close
])
rmtree(dirname)
示例11: test_realpath
def test_realpath(self, mock_request):
"""Additionally tests multiple urls and no path."""
self.server.hook = UrlRequestHook(
'test_url',
urls_mapping={
'realpath': ['test_url_1', 'test_url_2']},
paths_mapping={
'realpath': ''})
filename = b'services'
flags = SSH2_FXF_CREAT | SSH2_FXF_WRITE
perm = 0o100600
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(filename),
sftpint(flags),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(perm),
)
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_REALPATH,
sftpstring(filename))
self.server.process()
mock_request.assert_has_calls([
mock.ANY, # open
mock.call(
'POST', 'test_url_1/', auth=None,
data={'method': 'realpath', 'filename': filename}),
mock.call(
'POST', 'test_url_2/', auth=None,
data={'method': 'realpath', 'filename': filename}),
])
os.unlink(filename)
示例12: test_rename
def test_rename(self):
oldpath = b'services'
newpath = b'other_services'
self.server.input_queue = sftpcmd(
SSH2_FXP_OPEN,
sftpstring(oldpath),
sftpint(SSH2_FXF_CREAT | SSH2_FXF_WRITE),
sftpint(SSH2_FILEXFER_ATTR_PERMISSIONS),
sftpint(0o644)
)
self.server.process()
handle = get_sftphandle(self.server.output_queue)
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_CLOSE, sftpstring(handle))
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(
SSH2_FXP_RENAME,
sftpstring(oldpath),
sftpstring(newpath),
)
self.server.process()
self.assertEqual(self.hook.get_result('rename', 'oldpath'), oldpath)
self.assertEqual(self.hook.get_result('rename', 'newpath'), newpath)
os.unlink(newpath)
示例13: test_mkdir_forbidden
def test_mkdir_forbidden(self):
self.server.input_queue = sftpcmd(
SSH2_FXP_MKDIR, sftpstring(b'../foo'), sftpint(0))
self.assertRaises(SFTPForbidden, self.server.process)
self.server.input_queue = sftpcmd(
SSH2_FXP_MKDIR, sftpstring(b'/foo'), sftpint(0))
self.assertRaises(SFTPForbidden, self.server.process)
示例14: test_rmdir
def test_rmdir(self):
dirname = b'foo'
# sftpint(0) means no attrs
self.server.input_queue = sftpcmd(
SSH2_FXP_MKDIR, sftpstring(dirname), sftpint(0))
self.server.process()
self.server.output_queue = b''
self.server.input_queue = sftpcmd(SSH2_FXP_RMDIR, sftpstring(dirname))
self.server.process()
self.assertEqual(self.hook.get_result('rmdir'), dirname)
示例15: test_symlink
def test_symlink(self):
linkpath = b'ugly'
targetpath = b'ugliest'
self.server.input_queue = sftpcmd(
SSH2_FXP_SYMLINK, sftpstring(linkpath), sftpstring(targetpath),
sftpint(0))
self.server.process()
self.assertEqual(self.hook.get_result('symlink', 'linkpath'), linkpath)
self.assertEqual(self.hook.get_result('symlink', 'targetpath'),
targetpath)