Metadata-Version: 1.2
Name: pyhttptest
Version: 0.7
Summary: A command-line tool for HTTP tests over RESTful APIs
Home-page: https://github.com/slaily/pyhttptest
Author: Iliyan Slavov
Author-email: slavov.iliyan96@gmail.com
License: BSD 3-Clause License
Project-URL: Issues, https://github.com/slaily/pyhttptest/issues
Description: pyhttptest: HTTP tests over RESTful APIs✨
        ##########################################
        
        .. image:: https://travis-ci.org/slaily/pyhttptest.svg?branch=master
            :target: https://travis-ci.org/slaily/pyhttptest
        
        Pissed about writing test scripts against your RESTFul APIs anytime?
        
        Describe an HTTP Requests test cases in a simplest and widely used format JSON within a file.
        
        Run one command and gain a summary report.
        
        📣
        
        📣 **Coverage measuring on Test Cases coming soon**
        
        📣
        
        .. image:: https://www.dropbox.com/s/cd0g07dop4j1riq/pyhttptest-cli-table-of-results.png?raw=1
            :alt: pyhttptest in the command line
            :width: 100%
            :align: center
        
        
        Installation
        ******************************************
        
        Recommended installation method is to use ``pip``:
        
        .. code-block:: bash
        
            $ pip install pyhttptest
        
        Python version **3+** is required.
        
        
        Usage
        ******************************************
        
        .. code-block:: bash
        
            $ pyhttptest execute FILE
        
        See also ``pyhttptest --help``.
        
        
        Examples
        ******************************************
        
        Single test case
        ------------------------------------------
        
        Create a .json file and define a test case like an example:
        
        ``FILE: HTTP_GET.json``
        
        .. code-block:: json
        
            {
              "name": "TEST: List all users",
              "verb": "GET",
              "endpoint": "users",
              "host": "https://github.com",
              "headers": {
                "Accept-Language": "en-US"
              },
              "query_string": {
                "limit": 5
              }
            }
        
        Execute a test case:
        
        .. code-block:: bash
        
            $ pyhttptest execute FILE_PATH/HTTP_GET.json
        
        Result:
        
        .. image:: https://www.dropbox.com/s/0h56p3c4jm4sriy/pyhttptest-cli.png?raw=1
            :alt: pyhttptest in the command line
            :width: 100%
            :align: center
        
        Мultiple test cases
        ------------------------------------------
        
        Create a .json file and define a test cases like an example:
        
        ``FILE: requests.json``
        
        .. code-block:: json
        
            [
              {
                "name":"TEST: List all users",
                "verb":"GET",
                "endpoint":"api/v1/users",
                "host":"http://localhost:8085/",
                "headers":{
                   "Accept-Language":"en-US"
                },
                "query_string":{
                   "limit":1
                }
              },
              {
                "name":"TEST: Add a new user",
                "verb":"POST",
                "endpoint":"api/v1/users",
                "host":"http://localhost:8085/",
                "payload":{
                   "username":"pyhttptest",
                   "email":"admin@pyhttptest.com"
                }
              },
              {
                "name":"TEST: Modify an existing user",
                "verb":"PUT",
                "endpoint":"api/v1/users/XeEsscGqweEttXsgY",
                "host":"http://localhost:8085/",
                "payload":{
                   "username":"pyhttptest"
                }
              },
              {
                "name":"TEST: Delete an existing user",
                "verb":"DELETE",
                "endpoint":"api/v1/users/XeEsscGqweEttXsgY",
                "host":"http://localhost:8085/"
              }
            ]
        
        Execute a test case:
        
        .. code-block:: bash
        
            $ pyhttptest execute FILE_PATH/requests.json
        
        Result:
        
        .. image:: https://www.dropbox.com/s/cd0g07dop4j1riq/pyhttptest-cli-table-of-results.png?raw=1
            :alt: pyhttptest in the command line
            :width: 100%
            :align: center
        
        Dependencies
        ******************************************
        
        Under the hood, pyhttptest uses these amazing libraries:
        
        * `ijson <https://pypi.org/project/ijson/>`_
          — Iterative JSON parser with a standard Python iterator interface
        * `jsonschema <https://python-jsonschema.readthedocs.io/en/stable/>`_
          — An implementation of JSON Schema validation for Python
        * `Requests <https://python-requests.org>`_
          — Python HTTP library for humans
        * `tabulate <https://pypi.org/project/tabulate/>`_
          — Pretty-print tabular data
        * `click <https://click.palletsprojects.com/>`_
          — Composable command line interface toolkit
        
        
        Contributing
        ******************************************
        
        See `CONTRIBUTING <https://github.com/slaily/pyhttptest/blob/master/CONTRIBUTING.rst>`_.
        
        
        Changelog
        ******************************************
        
        See `CHANGELOG <https://github.com/slaily/pyhttptest/blob/master/CHANGELOG.rst>`_.
        
        
        Licence
        ******************************************
        
        BSD-3-Clause: `LICENSE <https://github.com/slaily/pyhttptest/blob/master/LICENSE>`_.
        
        
        Authors
        ******************************************
        
        `Iliyan Slavov`_
        
        .. _Iliyan Slavov: https://www.linkedin.com/in/iliyan-slavov-03478a157/
        
Keywords: HTTP test RESTFul API JSON
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3
