Metadata-Version: 2.1
Name: behave-web-api
Version: 1.0.8
Summary: Provides testing for JSON APIs with Behave
Home-page: https://github.com/jefersondaniel/behave-web-api
Author: Jeferson Daniel
Author-email: jeferson.daniel412@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: behave (>=1.2.4)
Requires-Dist: ordereddict (==1.1)
Requires-Dist: requests (>=2.0.0)

Behave Web Api
==============

|Build Status| |Version|

Provides testing for JSON APIs with Behave [1]_

Installation
------------

::

    pip install behave-web-api

Import steps in your features/steps/__init__.py

.. code:: python

    from behave_web_api.steps import *

So you can use the steps in your feature files

.. code:: gherkin

    Feature: Doing http requests

      Scenario: Send text body and headers
        Given I set header "X-My-Header" with value "Something"
        When I send a POST request to "/requests/echo" with body:
        """
        Something
        """
        Then the response code should be 200
        And the response should contain json:
        """
            {
                "headers": {
                    "X-My-Header": "Something"
                },
                "body": "%[A-Za-z]+%"
            }
        """

      Scenario: Send file using variables and environment variables
        Given I set the variable "DATA_DIR" with value "$PWD/features/data" 
        And I attach the file "$DATA_DIR/favicon.ico" as "upload"
        When I send a POST request to "/requests/echo"
        Then the response code should be 200
        And print response


And run using BASE_URL environment variable:

::

    BASE_URL=localhost:5000 behave features/requests.feature


Available Steps
---------------

-  Given I set variable "{}" with value "{}"
-  Given I set header "{}" with value "{}"
-  Given I attach the file "{}" as "{}"
-  When I send a {} request to "{}" with body:
-  When I send a {} request to "{}" with values:
-  When I send a {} request to "{}"
-  Then the response code should be {}
-  Then the response should contain json:
-  Then the response should contain text:
-  Then print response


Acknowledgments
---------------

The REST steps are based on Behat WebApiExtension [2]_

.. [1] http://pythonhosted.org/behave/

.. [2] https://github.com/Behat/WebApiExtension

.. |Build Status| image:: https://travis-ci.org/jefersondaniel/behave-web-api.svg
   :target: https://travis-ci.org/jefersondaniel/behave-web-api

.. |Version| image:: https://badge.fury.io/py/behave-web-api.svg
   :target: https://pypi.python.org/pypi/behave-web-api


