Trax-air / swagger-tester

Automatically test your swagger API
MIT License
105 stars 36 forks source link

.. image:: https://travis-ci.org/Trax-air/swagger-tester.svg?branch=master :alt: Travis status :target: https://travis-ci.org/Trax-air/swagger-tester .. image:: https://badges.gitter.im/Trax-air/swagger-tester.svg :alt: Join the chat at https://gitter.im/Trax-air/swagger-tester :target: https://gitter.im/Trax-air/swagger-tester?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge .. image:: https://img.shields.io/pypi/v/swagger-tester.svg :target: https://pypi.python.org/pypi/swagger-tester/

swagger-tester

Swagger-tester will test automatically your swagger API. Swagger API made with connexion (https://github.com/zalando/connexion) are supported directly without running the API server. In the case you use connexion it will automatically run a test server from your swagger file.

To run the test, swagger-tester will detect every path and actions of your API. And for each, it will send a request and check if the response match the swagger file specification.

Related Libraries

You may find related libraries to this one:

Example Usage

.. code:: python

from swagger_tester import swagger_test

Dict containing the error you don't want to raise.

By default, every status_code over other than 1xx, 2xx or 3xx

will be considered as an error.

authorize_error = { 'post': { '/pet/{petId}': [200], '/pet': [200] }, 'put': { '/user/{username}': [200], '/pet': [200] }, 'delete': { '/pet/{petId}': [200], '/store/order/{orderId}': [200], '/user/{username}': [200] } }

Run the test with connexion

An AssertionError will be raise in case of error.

swagger_test('path_to_your_swagger.yaml', authorize_error=authorize_error)

Or if you have a running API

swagger_test(app_url='http://petstore.swagger.io/v2', authorize_error=authorize_error)

Documentation

More documentation is available at https://swagger-tester.readthedocs.org/en/latest/.

Setup

make install or pip install swagger-tester

License

swagger-tester is licensed under http://opensource.org/licenses/MIT.