Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Python Hooks Bridge for Dredd API Testing Framework

Project Description

About

This package contains a bridge between Dredd API Testing Framework and Python environment to ease implementation of testing hooks provided by Dredd. Write Dredd hooks in Python to glue together API Blueprint with your Python project

Usage example:

import dredd_hooks as hooks

@hooks.before_all
def foo(transactions):
    for t in transactions:
        t['request']['headers']['content-type'] = 'application/json'

Download

You can see all the available versions at PyPI.

From source (tar.gz or checkout)

Unpack the archive, enter the dredd-hooks-python directory and run:

python setup.py install

Setuptools/PyPI

Alternatively it can be installed from PyPI, either manually downloading the files and installing as described above or using:

pip install dredd_hooks

Usage

  1. Create a hook file in hooks.py:
import dredd_hooks as hooks

@hooks.before("Machines > Machines collection > Get Machines")
def before_hook(transaction):
    transaction['skip'] = "true"
  1. Run it with Dredd:

    $ dredd apiary.apib localhost:3000 --language python --hookfiles ./hooks.py
    

API

Module dredd_hooks defines following decorators before, after, before_all, after_all, before_each, after_each, before_validation, before_each_validation. before, before_validation and after hooks are identified by transaction name.

Usage is very similar to sync JS hooks API

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-newfeature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push (git push origin my-new-feature)
  5. Create a new Pull Request

Testing

Don’t forget about tests, see test directory. The project uses unittest package and tox.

For integration test with Dredd interface the project uses ruby based aruba so to get it running make sure you have Ruby installed and then do:

$ bundle install

After the setup you can run the test easily with:

$ bundle exec cucumber

More details about the integration test can be found in the dredd-hooks-template repo

copyright:Copyright (c) 2015 Apiary Czech Republic, s.r.o.
license:MIT, see LICENSE for details.
Release History

Release History

This version
History Node

0.0.3

History Node

0.0.3.dev20160126

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
dredd_hooks-0.0.3.tar.gz (11.1 kB) Copy SHA256 Checksum SHA256 Source Jan 26, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting