Skip to main content

allow you to easily mock HTTP responses in your tests

Project description

https://travis-ci.org/bearstech/responses_proxy.png?branch=master

responses_proxy allow you to easily mock HTTP responses in your tests

Installation

With pip:

$ pip install responses_proxy

Using docker:

$ docker run --rm -v tests/responses:/tests/responses bearstech/responses_proxy -h

Usage

Check command line arguments:

$ responses-proxy -h

First save some stuff using the proxy mode:

$ responses-proxy --proxy

If your target site use ssl then use:

$ responses-proxy --proxy --use-ssl

The proxy do not support ssl so you need to make http request. But first set the HTTP_PROXY env var:

$ export HTTP_PROXY=http://localhost:3333

Then run some code to make some requests:

python -c "import requests; requests.get('http://bearstech.com')"

This will generate some file in tests/responses/

NB: With docker you’ll have to mount the volume:

$ docker run --rm -v tests/responses:/tests/responses bearstech/responses_proxy

You can now restart the server without the proxy mode and the client will react the same way without calling the real server.

You can aslo use a RequestsMock in you unit tests:

import responses_proxy
import requsests

def test_url():
    with responses_proxy.RequestsMock():
        requests.get('http://bearstech.com')
        # https will work to. both are registered
        requests.get('https://bearstech.com')

Project details


Download files

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

Source Distribution

responses_proxy-0.1.4.tar.gz (12.1 kB view hashes)

Uploaded Source

Built Distribution

responses_proxy-0.1.4-py2.py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page