pytest-mock-server
Mock server plugin for pytest
Installation
You can install “pytest-mock-server” via pip from PyPI:
$ pip install pytest-mock-server
Usage
One handler
import pytest
import requests
@pytest.mark.server(url='/v1/books/', response=[{'id': 1}], method='GET')
def test_handler_responses():
response = requests.get('http://localhost:5000/v1/books/')
assert response.status_code == 200
assert response.json() == [{'id': 1}]
More than one handlers
import pytest
import requests
@pytest.mark.server(url='/v1/books/', response=[{'id': 1}], method='GET')
@pytest.mark.server(url='/v1/books/<book_id>/', response={'id': 1}, method='GET')
def test_handler_responses():
response = requests.get('http://localhost:5000/v1/books/')
assert response.status_code == 200
assert response.json() == [{'id': 1}]
response = requests.get('http://localhost:5000/v1/books/1/')
assert response.status_code == 200
assert response.json() == {'id': 1}
Callback executes before response returns
import pytest
import requests
import time
def sleep_two(*args, **kwargs):
time.sleep(2)
@pytest.mark.server(url='/v1/books/', response={}, callback=sleep_two)
def test_handler_responses():
"""Ensures Timeouts works"""
with pytest.raises(requests.exceptions.Timeout):
response = requests.get('http://localhost:5000/v1/books/', timeout=1)
Custom settings for server
import pytest
import requests
@pytest.mark.server(url='/v1/books/', response={})
@pytest.mark.server_settings(port=8000)
def test_handler_responses():
response = requests.get('http://localhost:8000/v1/books/')
assert response.status_code == 200
assert response.json() == {}
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT license, “pytest-mock-server” is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
Release files for pytest-mock-server 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest-mock-server-0.3.0.tar.gz | 4.1 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytest_mock_server-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
| pytest_mock_server-0.3.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / pytest-mock-server-0.3.0.tar.gz
| Download URL | pytest-mock-server-0.3.0.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba62b3e1933c12408afa9525c82b9914398a8f923293b08545a12508774e03af
|
|
BLAKE2b-256 checksum How to use checksums |
099a5dc3e93aa3ba8b01e219b52d1305b84bfa828d23a797b313fadc9a99d6e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|
Release files / pytest_mock_server-0.3.0-py3-none-any.whl
| Download URL | pytest_mock_server-0.3.0-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b7a190ed614eb220f23c6962b8d5655706866f35a52f72099456282c7caa543a
|
|
BLAKE2b-256 checksum How to use checksums |
a639419b1caeda51d34f9db8a583b4fdcd50698cb9a8847567e9dac50d11589e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|
Release files / pytest_mock_server-0.3.0-py2.py3-none-any.whl
| Download URL | pytest_mock_server-0.3.0-py2.py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
acddccc82c0fe3e3bb05cedc7dd946282f8d552cbe322adbeb2f4f3d9ffb7633
|
|
BLAKE2b-256 checksum How to use checksums |
43961ddca06533c9bd770290b938236bc7762a005327951df6dc2434d1617e2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
|