跳至主要内容

pytest插件,用于本地测试sftp服务器连接。

项目描述

Latest Version Circle CI build status Code Climate coverage Supported versions License Requirements Status

pytest-sftpserver是pytest插件,提供本地SFTP服务器 fixture

此fixture提供的SFTP服务器内容不是来自文件,而是直接来自Python对象。

快速入门

假设您想测试一个从SFTP服务器下载文件的函数

from contextlib import closing
import paramiko
def get_sftp_file(host, port, username, password, path):
    with closing(paramiko.Transport((host, port))) as transport:
        transport.connect(username=username, password=password)
        with closing(paramiko.SFTPClient.from_transport(transport)) as sftpclient:
            with sftpclient.open(path, "r") as sftp_file:
                return sftp_file.read()

此插件允许您通过提供名为sftpserver的pytest fixture来测试此类函数,而无需启动外部SFTP服务器。您只需将名为sftpserver的参数添加到测试函数中即可使用它

def test_sftp_fetch(sftpserver):
    with sftpserver.serve_content({'a_dir': {'somefile.txt': "File content"}}):
        assert get_sftp_file(sftpserver.host, sftpserver.port, "user",
                             "pw", "/a_dir/somefile.txt") == "File content"

从该示例中可以看出,sftpserver直接从Python对象提供内容,而不是从文件。

安装

pip install pytest-sftpserver

支持的Python版本

此软件包支持以下Python版本

  • 2.7, 3.5 - 3.7

待办事项

  • 添加更多文档

  • 添加更多使用示例

  • 添加待办事项 :)

版本历史

1.3.0 - 2019-09-16

  • 已更新支持的Python版本为2.7,3.5 - 3.7。

    删除了对3.4的(官方)支持。

  • 使用blackisortflake8检查/格式化代码。

  • 修复.read()的返回类型。(#15,感谢@WeatherGod)

  • 支持写入操作中的offset参数。(#11,#16,感谢@DrNecromant)

1.2.0 - 2018-03-28

  • 已更新支持的Python版本为2.7、3.4-3.6。取消了对2.6和3.2、3.3版本的官方支持。

  • 现在内部始终使用posixpath,以避免在Windows上运行时出现问题(感谢@dundeemt #7, #8)

  • 修复了损坏的readme徽章(感谢@movermeyer #14)

1.1.2 - 2015-06-01

  • 修复了状态大小计算中的错误(#4)

  • 修复了mkdir()覆盖现有内容的错误(#5)

感谢@zerok提供的错误报告和配套测试。

1.1.1 - 2015-04-04

  • 修复了针对不存在‘文件’的损坏的chmod()行为(感谢@dundeemt)

1.1.0 - 2014-10-15

  • 修复了针对不存在‘文件’的损坏的stat()行为

  • 略微增加了测试覆盖率

1.0.2 - 2014-07-27

  • 修复了在Python 2.6上的损坏测试

1.0.1 - 2014-07-27

  • 添加了对Python 3.2的支持

  • 清理了tox配置

1.0.0 - 2014-07-18

  • 初始发布

许可证

许可协议为MIT许可。请参阅文件LICENSE

灵感来源

此插件实现和想法部分基于

项目详情


下载文件

下载适用于您平台文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源代码分发

pytest-sftpserver-1.3.0.tar.gz (12.6 KB 查看哈希

上传

构建分发

pytest_sftpserver-1.3.0-py2.py3-none-any.whl (18.3 KB 查看哈希

上传 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页