{ "info": { "author": "Ulrich Petri", "author_email": "mail@ulo.pe", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Testing" ], "description": "=================\npytest-sftpserver\n=================\n\n.. image:: https://img.shields.io/pypi/v/pytest-sftpserver.svg?style=flat\n :target: https://pypi.python.org/pypi/pytest-sftpserver/\n :alt: Latest Version\n.. image:: https://img.shields.io/circleci/build/gh/ulope/pytest-sftpserver/master\n :alt: Circle CI build status\n :target: https://circleci.com/gh/ulope/workflows/pytest-sftpserver\n.. image:: https://img.shields.io/codeclimate/coverage/ulope/pytest-sftpserver\n :alt: Code Climate coverage\n :target: https://codeclimate.com/github/ulope/pytest-sftpserver\n.. image:: https://img.shields.io/pypi/pyversions/pytest-sftpserver.svg?style=flat\n :target: https://pypi.python.org/pypi/pytest-sftpserver/\n :alt: Supported versions\n.. image:: https://img.shields.io/pypi/l/pytest-sftpserver?style=flat&color=20d020\n :target: https://pypi.python.org/pypi/pytest-sftpserver/\n :alt: License\n.. image:: https://requires.io/github/ulope/pytest-sftpserver/requirements.svg?branch=master\n :target: https://requires.io/github/ulope/pytest-sftpserver/requirements/?branch=master\n :alt: Requirements Status\n\npytest-sftpserver is a plugin for `pytest`_ that provides a local SFTP-Server\n`fixture`_.\n\nThe SFTP-Server provided by this fixture serves content not from files but\ndirectly from Python objects.\n\nQuickstart\n==========\n\nAssume you want to test a function that downloads a file from an SFTP-Server:\n\n.. code-block:: python\n\n from contextlib import closing\n import paramiko\n def get_sftp_file(host, port, username, password, path):\n with closing(paramiko.Transport((host, port))) as transport:\n transport.connect(username=username, password=password)\n with closing(paramiko.SFTPClient.from_transport(transport)) as sftpclient:\n with sftpclient.open(path, \"r\") as sftp_file:\n return sftp_file.read()\n\nThis plugin allows to test such functions without having to spin up an external\nSFTP-Server by providing a pytest `fixture`_ called `sftpserver`. You use it\nsimply by adding a parameter named `sftpserver` to your test function:\n\n.. code-block:: python\n\n def test_sftp_fetch(sftpserver):\n with sftpserver.serve_content({'a_dir': {'somefile.txt': \"File content\"}}):\n assert get_sftp_file(sftpserver.host, sftpserver.port, \"user\",\n \"pw\", \"/a_dir/somefile.txt\") == \"File content\"\n\nAs can be seen from this example `sftpserver` serves content directly from\npython objects instead of files.\n\n\nInstallation\n============\n\n pip install pytest-sftpserver\n\n\nSupported Python versions\n=========================\n\nThis package supports the following Python versions:\n\n- 2.7, 3.5 - 3.7\n\nTODO\n====\n\n- Add more documentation\n- Add more usage examples\n- Add TODOs :)\n\n\nVersion History\n===============\n\n1.3.0 - 2019-09-16\n------------------\n- Updated supported Python versions to 2.7, 3.5 - 3.7.\n\n Droped (official) support for 3.4.\n- Check / format code with ``black``, ``isort`` and ``flake8``.\n- Fix return type of ``.read()``. (#15, thanks @WeatherGod)\n- Support the ``offset`` parameter on write operations. (#11, #16, thanks @DrNecromant)\n\n\n1.2.0 - 2018-03-28\n------------------\n\n- Updated supported Python versions to 2.7, 3.4 - 3.6.\n Droped (official) support for 2.6 and 3.2, 3.3.\n- Now always uses posixpath internally to avoid problems when running on Windows (#7, #8, thanks @dundeemt)\n- Fixed broken readme badges (#14, thanks @movermeyer)\n\n\n1.1.2 - 2015-06-01\n------------------\n\n- Fixed a bug in stat size calculation (#4)\n- Fixed mkdir() overwriting existing content (#5)\n\n\nThanks to @zerok for both bug reports and accompanying tests.\n\n\n1.1.1 - 2015-04-04\n------------------\n\n- Fixed broken `chmod()` behaviour for non-existing 'files' (Thanks @dundeemt)\n\n\n1.1.0 - 2014-10-15\n------------------\n\n- Fixed broken `stat()` behaviour for non-existing 'files'\n- Slightly increased test coverage\n\n\n1.0.2 - 2014-07-27\n------------------\n\n- Fixed broken test on Python 2.6\n\n\n1.0.1 - 2014-07-27\n------------------\n\n- Added Python 3.2 support\n- Cleaned up tox configuration\n\n\n1.0.0 - 2014-07-18\n------------------\n\n- Initial release\n\n\nLicense\n=======\nLicensed unter the MIT License. See file `LICENSE`.\n\n\nInspiration\n===========\n\nThe implementation and idea for this plugin is in part based upon:\n\n- `pytest-localserver`_\n- `sftpserver`_\n- The `Twisted Conch in 60 Seconds`_ series (although I ended up not using\n twisted, this was very helpful understanding SFTP internals)\n\n\n.. _pytest: http://pytest.org/latest/\n.. _fixture: http://pytest.org/latest/fixture.html#fixtures-as-function-arguments\n.. _pytest-localserver: https://bitbucket.org/basti/pytest-localserver\n.. _sftpserver: https://github.com/rspivak/sftpserver\n.. _Twisted Conch in 60 Seconds: http://as.ynchrono.us/2011/04/twisted-conch-in-60-seconds-trivial.html\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/ulope/pytest-sftpserver/", "keywords": "py.test pytest plugin server local sftp localhost", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "pytest-sftpserver", "package_url": "https://pypi.org/project/pytest-sftpserver/", "platform": "", "project_url": "https://pypi.org/project/pytest-sftpserver/", "project_urls": { "Homepage": "http://github.com/ulope/pytest-sftpserver/" }, "release_url": "https://pypi.org/project/pytest-sftpserver/1.3.0/", "requires_dist": [ "paramiko", "six" ], "requires_python": "", "summary": "py.test plugin to locally test sftp server connections.", "version": "1.3.0" }, "last_serial": 5837111, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "31a33fda5717c52e48cdcfa1024eb7d1", "sha256": "876585ef4e6fd2316182fb8d9730cbfd170dab2b09654eb09f319cdb40cbc602" }, "downloads": -1, "filename": "pytest_sftpserver-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31a33fda5717c52e48cdcfa1024eb7d1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18390, "upload_time": "2014-07-18T00:01:45", "url": "https://files.pythonhosted.org/packages/e0/c2/937171724c1cfccb6bdbe6b468d5efb6ebbad3dac33d13b4163727e2d0de/pytest_sftpserver-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "273be0537852fb686cfc3355cba2402d", "sha256": "a848a2ac4097a3afbcdee2f0b5b9b47d5aaf6d41064ce9f21dfae5f7f5ee3788" }, "downloads": -1, "filename": "pytest-sftpserver-1.0.0.tar.gz", "has_sig": false, "md5_digest": "273be0537852fb686cfc3355cba2402d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10261, "upload_time": "2014-07-18T00:01:41", "url": "https://files.pythonhosted.org/packages/ab/58/8d8823d906bfbb72717d9088e57de6df747a4c74a7fd7dd7cff00e28f528/pytest-sftpserver-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "42caa552c43584c6d0c725b222c071ad", "sha256": "96573e94363fca925a86469d96a358c60ab1b16337977fc9c659c8a76809ddbe" }, "downloads": -1, "filename": "pytest_sftpserver-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "42caa552c43584c6d0c725b222c071ad", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18918, "upload_time": "2014-07-27T11:24:33", "url": "https://files.pythonhosted.org/packages/a8/b1/e6a76905df12dd42acfb3f3c08dc906345597494472a1e0e3078c65273d2/pytest_sftpserver-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7e3f516c10b06e863d4200d10118afd", "sha256": "09cbfd562f5b527bd62b5614cd7499f0bb9976feb15f686effc157739aaf1add" }, "downloads": -1, "filename": "pytest-sftpserver-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e7e3f516c10b06e863d4200d10118afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10839, "upload_time": "2014-07-27T11:24:30", "url": "https://files.pythonhosted.org/packages/ae/9b/506bf001bc484438dabf95ddf336b293bf1af9cbddff3744485e080ead99/pytest-sftpserver-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9a11afbe46503c12acbb7852f6d4cc9c", "sha256": "c01d68c55000a0f8c6c39fd7f7821403e4a01a09594b51948ef7d1785afa8b21" }, "downloads": -1, "filename": "pytest_sftpserver-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a11afbe46503c12acbb7852f6d4cc9c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 18922, "upload_time": "2014-07-27T11:45:15", "url": "https://files.pythonhosted.org/packages/74/e0/701c8d982abd55cfd7bc869bd6c9d83c6509ff8948877f9a19cf7c9b69e2/pytest_sftpserver-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5702d0d0b82cd50119ee2653c7eaa787", "sha256": "b43db0f8ae3f59f3b54e4c44b349ea1ebed2ded85f851df73f1e7908e4773913" }, "downloads": -1, "filename": "pytest-sftpserver-1.0.2.tar.gz", "has_sig": false, "md5_digest": "5702d0d0b82cd50119ee2653c7eaa787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10833, "upload_time": "2014-07-27T11:45:12", "url": "https://files.pythonhosted.org/packages/ba/c0/2581e563cf62fc7aed412bcfb131994455ce834b31178f40cc85e5136153/pytest-sftpserver-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "20802e41fe300cd1328a7dc948fdde99", "sha256": "0988d87d0aa19f4c435d5c9c4add548629b920455558c9934c0f8b1c5bd5915d" }, "downloads": -1, "filename": "pytest_sftpserver-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20802e41fe300cd1328a7dc948fdde99", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19245, "upload_time": "2014-10-15T11:27:45", "url": "https://files.pythonhosted.org/packages/76/77/ce7587ddbc3230834c7b1971812fbde34c4f8b0c2846a3a7ce9de03935ad/pytest_sftpserver-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c713295195d573c087cf9afdd081f86", "sha256": "b1ff9c2fa5504f6185e8f5f679c8159053cc1a01ce6e830d8ba72cfbc6a4c0d3" }, "downloads": -1, "filename": "pytest-sftpserver-1.1.0.tar.gz", "has_sig": false, "md5_digest": "3c713295195d573c087cf9afdd081f86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11236, "upload_time": "2014-10-15T11:27:41", "url": "https://files.pythonhosted.org/packages/c7/96/575e2e70aa1dfb0561e07160f6d2da8e61ae27cfeae0d8e53043fe1920c8/pytest-sftpserver-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "960e2c44206fb61c45bd05293244040f", "sha256": "a142ca9afdd7d78c3dbd6a630902e12df39e3c0b426725ba6bba6c466c2c3d13" }, "downloads": -1, "filename": "pytest_sftpserver-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "960e2c44206fb61c45bd05293244040f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19327, "upload_time": "2015-04-05T16:08:54", "url": "https://files.pythonhosted.org/packages/57/be/8fdb12242028d96603936fe33a7e1935cd5a27c6f1b372d7ea9718d51a17/pytest_sftpserver-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92dc7d12d9f3a2f46d90a65251c6ec3c", "sha256": "24a7a9289b2124d2e0a15a1f1cc2fcde3bb6c5f3bfee7e151ea6936bdd852c24" }, "downloads": -1, "filename": "pytest-sftpserver-1.1.1.tar.gz", "has_sig": false, "md5_digest": "92dc7d12d9f3a2f46d90a65251c6ec3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11339, "upload_time": "2015-04-05T16:08:51", "url": "https://files.pythonhosted.org/packages/ad/ab/6f151f0a191dfd0a98af2d8a849602c25ca5a9c8e45b35902f4472b5fdc6/pytest-sftpserver-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "a463e9a93639eed1826efafdae63758b", "sha256": "d38d1bec1b8dc1504cc395a6ce43238274bdc90c8670b3a5419e9a2e3a04b1f0" }, "downloads": -1, "filename": "pytest_sftpserver-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a463e9a93639eed1826efafdae63758b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 19525, "upload_time": "2015-06-01T14:21:04", "url": "https://files.pythonhosted.org/packages/52/d2/3ebd8230d4a8a8c0a9cbb40ee920bbc432726f80c59200d46f3eb017694c/pytest_sftpserver-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62dfb2a52ad9c06b0eda444fbd8b1909", "sha256": "b84fee01a9c0137e32290497851cbfb2c1553be587907d609568dadc8a3d16ed" }, "downloads": -1, "filename": "pytest-sftpserver-1.1.2.tar.gz", "has_sig": false, "md5_digest": "62dfb2a52ad9c06b0eda444fbd8b1909", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11558, "upload_time": "2015-06-01T14:21:00", "url": "https://files.pythonhosted.org/packages/97/0a/f038bc1fd93f333ad61f34ac3c430b22b1ccd66edfb07fd04766bd60d79a/pytest-sftpserver-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3f07a7db2b1f2d458904c9ff15dc6d57", "sha256": "31793de87582a5ea10e20dc334224949c7922fe7620e0b21d55fd607b9180a30" }, "downloads": -1, "filename": "pytest_sftpserver-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f07a7db2b1f2d458904c9ff15dc6d57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19900, "upload_time": "2018-03-28T21:14:59", "url": "https://files.pythonhosted.org/packages/9b/60/09343d604a6b3040aaef2e4dcaf15f3f477480402e18a859b5e54055abac/pytest_sftpserver-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2311d621445ee5facb520c424a69e236", "sha256": "81da1672dbc48572577a22e9dd7fde88ffbaa39f0c5bcb6563f103df6b107078" }, "downloads": -1, "filename": "pytest-sftpserver-1.2.0.tar.gz", "has_sig": false, "md5_digest": "2311d621445ee5facb520c424a69e236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11921, "upload_time": "2018-03-28T21:14:46", "url": "https://files.pythonhosted.org/packages/95/27/c06e68b22bac618e5a2f90d0390cae347ac4d9e2743c01ad5394f684248b/pytest-sftpserver-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "81d10792203e4e7e5d80f18aee5b46e5", "sha256": "c5e8a37049866d4eabc711db9f1c09e1c02ab72ba290f5fd244939c9a188042f" }, "downloads": -1, "filename": "pytest_sftpserver-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "81d10792203e4e7e5d80f18aee5b46e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18347, "upload_time": "2019-09-16T16:07:11", "url": "https://files.pythonhosted.org/packages/5c/07/a66ce67849514133361887636e0ca187e894bca241686adedd414a06cb50/pytest_sftpserver-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "475cf25217f9e9c675ee748aa5b038f2", "sha256": "b7ac34a23f63d77e27f67b6a81c9418243733f027eeb8a3061d965b2da7e5cab" }, "downloads": -1, "filename": "pytest-sftpserver-1.3.0.tar.gz", "has_sig": false, "md5_digest": "475cf25217f9e9c675ee748aa5b038f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12563, "upload_time": "2019-09-16T16:07:14", "url": "https://files.pythonhosted.org/packages/05/45/f0c545cf1bee1556fed7fb3e7eea77a4691255939522b1d677ecb2c04be8/pytest-sftpserver-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "81d10792203e4e7e5d80f18aee5b46e5", "sha256": "c5e8a37049866d4eabc711db9f1c09e1c02ab72ba290f5fd244939c9a188042f" }, "downloads": -1, "filename": "pytest_sftpserver-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "81d10792203e4e7e5d80f18aee5b46e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18347, "upload_time": "2019-09-16T16:07:11", "url": "https://files.pythonhosted.org/packages/5c/07/a66ce67849514133361887636e0ca187e894bca241686adedd414a06cb50/pytest_sftpserver-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "475cf25217f9e9c675ee748aa5b038f2", "sha256": "b7ac34a23f63d77e27f67b6a81c9418243733f027eeb8a3061d965b2da7e5cab" }, "downloads": -1, "filename": "pytest-sftpserver-1.3.0.tar.gz", "has_sig": false, "md5_digest": "475cf25217f9e9c675ee748aa5b038f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12563, "upload_time": "2019-09-16T16:07:14", "url": "https://files.pythonhosted.org/packages/05/45/f0c545cf1bee1556fed7fb3e7eea77a4691255939522b1d677ecb2c04be8/pytest-sftpserver-1.3.0.tar.gz" } ] }