Metadata-Version: 2.1
Name: poorconn
Version: 0.1b0
Summary: Simulating poor network connections.
Home-page: https://poorconn.topbug.net
Author: Hong Xu
Author-email: hong@topbug.net
License: LGPLv3+
Project-URL: Source, https://gitlab.com/xuhdev/poorconn
Project-URL: Tracker, https://gitlab.com/xuhdev/poorconn/issues
Description: Poorconn: Simulating Unstable Network Conditions
        ================================================
        
        Poorconn simulates unstable network conditions. It is suitable for testing purposes.
        
        Quickstart
        ----------
        
        Install this package via
        
        .. code-block:: console
        
           $ pip install 'poorconn[full]'  # or "pip install poorconn" if you don't need pytest support
        
        If you use `pytest`_:
        
        .. code-block:: python
        
           pytest_plugins = ('poorconn',)
        
           from pathlib import Path
           import time
           import requests
           import pytest
        
           @pytest.mark.poorconn_http_server_config(t=2, length=1024)
           def test_slow_http_server(poorconn_http_server, tmp_path):
               "Test GETing from a slow local http server that delays 2 seconds to send every 1024 bytes."
               (tmp_path / 'index.txt').write_bytes(b'h' * 1024)
               starting_time = time.time()
               content = requests.get(f'{poorconn_http_server.url}/index.txt').content
               ending_time = time.time()
               assert ending_time - starting_time > 2
        
        .. readme-misc
        
        Bug Reports and Feature Requests
        --------------------------------
        
        Please open a ticket on the `GitLab Issue Tracker <https://gitlab.com/xuhdev/poorconn/-/issues>`__.
        
        Contributing
        ------------
        
        Contributions are welcome! To get started, check out ``CONTRIBUTING.rst``.
        
        Copyright and License
        ---------------------
        
        Copyright (C) 2020--2021 Hong Xu <hong@topbug.net>
        
        This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General
        Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any
        later version.
        
        This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
        details.
        
        You should have received a copy of the GNU Lesser General Public License along with this program. If not, see
        <https://www.gnu.org/licenses/>.
        
        .. _pytest: https://www.pytest.org
        
Keywords: socket,test,unittest
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: License :: DFSG approved
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Provides-Extra: full
