Simplified requests calls mocking for pytest
Project description
https://github.com/idlesign/pytest-responsemock
Description
Simplified requests calls mocking for pytest
Provides response_mock fixture, exposing simple context manager.
Any request under that manager will be intercepted and mocked according to one or more rules passed to the manager. If actual request won’t fall under any of given rules then an exception is raised (by default).
Rules are simple strings, of pattern: HTTP_METHOD URL -> STATUS_CODE :BODY.
Requirements
Python 3.6+
Usage
When this package is installed response_mock is available for pytest test functions.
def for_test():
return requests.get('http://some.domain')
def test_me(response_mock):
# Pass response rule as a string,
# or many rules (to mock consequent requests) as a list of strings.
# Use optional `bypass` argument to disable mock conditionally.
with response_mock('GET http://some.domain -> 200 :Nice', bypass=False):
result = for_test()
assert result.ok
assert result.content == b'Nice'
Test json response:
response = json.dumps({'key': 'value', 'another': 'yes'})
with response_mock(f'POST http://some.domain -> 400 :{response}'):
...
Access underlying RequestsMock (from responses package) as mock:
with response_mock('HEAD http://some.domain -> 200 :Nope') as mock:
mock.add_passthru('http://other.domain')
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
Built Distribution
File details
Details for the file pytest-responsemock-0.1.1.tar.gz
.
File metadata
- Download URL: pytest-responsemock-0.1.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3737658a1c0a5058047557e6c8cf54e5abd6c889fcd9d7759a08e416f108cae |
|
MD5 | 4316bf9bbd97f6267e5edb91a71b79ea |
|
BLAKE2b-256 | f70e0941b16bc6ba5a233b5398c7d30373eece09e7041ba6ce92dbdc568eeaf1 |
File details
Details for the file pytest_responsemock-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: pytest_responsemock-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca0120fc4b02b8cc44ab95607db0048028ea8aea9ab9deb9804b51f276db5f2a |
|
MD5 | e99b5708a0ffef5e100f3f38a6d4de93 |
|
BLAKE2b-256 | f8984aede5c5e375e2d14c93401a1edd0cc05331041749abd923191a1ff52f1a |