Use with Docker¶
If you want to use your own mountebank service instance (Docker, for example) you have no need to use npm requirements.
docker run -p 2525:2525 -p IMPOSTER_PORT:IMPOSTER_PORT -d andyrbell/mountebank
You can do like this in your [conftest.py
]:
import pytest
from mbtest.server import MountebankServer
@pytest.fixture(scope="session")
def mock_server():
return MountebankServer(port=2525, host="localhost")
Don’t forget to open docker ports for mountebank (default 2525) and for each it’s imposters.
from mbtest.imposters import Imposter, Predicate, Response, Stub
imposter = Imposter(
Stub(
Predicate(path="/test") & Predicate(query={}) & Predicate(method="GET"),
Response(body="sausages")
),
record_requests=True,
port=IMPOSTER_PORT)
with mock_server(imposter) as ms:
response = requests.get(f"{imposter.url}/test")
# Check your request
print(ms.get_actual_requests())
If you don’t specify port for Imposter it will be done randomly.
Extra¶
You can combine your Predicate with &
(and), |
(or).