'Helpers to use requests_mock and responses with a Flask test client.'
Project description
requests-mock-flask
requests-mock-flask helps with testing Flask applications with responses or requests-mock.
Usage example
import flask import requests import responses import requests_mock from requests_mock_flask import add_flask_app_to_mock app = flask.Flask(__name__) @app.route('/') def _() -> str: return 'Hello, World!' @responses.activate def test_responses_decorator() -> None: """ It is possible to use the helper with a ``responses`` decorator. """ add_flask_app_to_mock( mock_obj=responses, flask_app=app, base_url='http://www.example.com', ) response = requests.get('http://www.example.com') assert response.status_code == 200 assert response.text == 'Hello, World!' def test_responses_context_manager() -> None: """ It is possible to use the helper with a ``responses`` context manager. """ with responses.RequestsMock( assert_all_requests_are_fired=False, ) as resp_m: add_flask_app_to_mock( mock_obj=resp_m, flask_app=app, base_url='http://www.example.com', ) response = requests.get('http://www.example.com') assert response.status_code == 200 assert response.text == 'Hello, World!' def test_requests_mock_context_manager() -> None: """ It is possible to use the helper with a ``requests_mock`` context manager. """ with requests_mock.Mocker() as resp_m: add_flask_app_to_mock( mock_obj=resp_m, flask_app=app, base_url='http://www.example.com', ) response = requests.get('http://www.example.com') assert response.status_code == 200 assert response.text == 'Hello, World!' def test_requests_mock_adapter() -> None: """ It is possible to use the helper with a ``requests_mock`` fixture. """ session = requests.Session() adapter = requests_mock.Adapter() session.mount('mock', adapter) add_flask_app_to_mock( mock_obj=adapter, flask_app=app, base_url='mock://www.example.com', ) response = session.get('mock://www.example.com') assert response.status_code == 200 assert response.text == 'Hello, World!'
Use cases
- Use the requests API for testing applications.
- Create a test suite which can test a Flask application as well as a live web application, to make a verified fake.
- Test a service which calls a Flask application that you have the source code for.
Full documentation
See the full documentation for more information including how to contribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size requests_mock_flask-2020.9.25.0-py3-none-any.whl (5.4 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size requests-mock-flask-2020.9.25.0.tar.gz (20.2 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for requests_mock_flask-2020.9.25.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85038330188adb1cf11f17fb58695873cf3dd510c7d3723b8d74acc728205bd4 |
|
MD5 | 431fb47f1c5dfb55a32a5b37057cf08c |
|
BLAKE2-256 | 2cd02a4332330680c9e4eb86431e9239dc701ae5d02e74fe09f1fcf060cb05b7 |
Close
Hashes for requests-mock-flask-2020.9.25.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d95a1a9cc0b9cd5c731af092e96c6eda8cc0a2d4745d564fa09678a1abd6fcb8 |
|
MD5 | 6ba494f6c0cb029e2106a0d0b943f2db |
|
BLAKE2-256 | 3429dd3b06d3a6e8858ddd1e9bc2bd534a97a5f94abe6b37a7a87df95f388bab |