Nav apraksta

Wiliam Souza a203d95ea9 Removed path from expectation 9 gadi atpakaļ
docs a4b6f108b3 Remane to echod to avoid conflict 9 gadi atpakaļ
echod a203d95ea9 Removed path from expectation 9 gadi atpakaļ
tests a203d95ea9 Removed path from expectation 9 gadi atpakaļ
.coveragerc 3001ddb742 Updated coveragerc 9 gadi atpakaļ
.gitignore af3981b1c8 Rename to echod 9 gadi atpakaļ
.travis.yml ac79cd3cbc Update pytest-asyncio and remove workaround to it work 9 gadi atpakaļ
AUTHORS 4651521daa Add project basic files 9 gadi atpakaļ
CHANGES.md 2f4db3f1a6 Add tox and version commands to setup 9 gadi atpakaļ
Dockerfile af3981b1c8 Rename to echod 9 gadi atpakaļ
Dockerfile_dev b269fff8f7 Add wheel and twine to dev requires, fix setup version and rst and docker to Makefile 9 gadi atpakaļ
MANIFEST.in ad2c3c4209 Add docs and tox commands 9 gadi atpakaļ
Makefile b269fff8f7 Add wheel and twine to dev requires, fix setup version and rst and docker to Makefile 9 gadi atpakaļ
README.md a203d95ea9 Removed path from expectation 9 gadi atpakaļ
docker-compose.yml af3981b1c8 Rename to echod 9 gadi atpakaļ
docker_env af3981b1c8 Rename to echod 9 gadi atpakaļ
dot_env af3981b1c8 Rename to echod 9 gadi atpakaļ
repos.sh 4651521daa Add project basic files 9 gadi atpakaļ
setup.py 28d5730527 Add not found test 9 gadi atpakaļ
tox.ini ac79cd3cbc Update pytest-asyncio and remove workaround to it work 9 gadi atpakaļ

README.md

echod

Build Status Coverage Status

Echod is a fully configurable mock server and an HTTP callback recorder. It is perfect to test external services.

It is easy to controlling Echod on the fly from your code or using your testing framework setup mechanism.

The main part of Echod is an HTTP server with an REST API, the Echo HTTP server have a lot of flexibility and support many start up methods.

Echod server can be run as:

  • A standalone using echod command line tool.
  • A WSGI HTTP Server application.
  • A Docker instance container.

Mock

from echod.mock import Mock

# This will create a mock that accepts `POST` in the path `/v1/users/`.
expectation = {
    'method': 'POST',
    'response': {'body': {'email': 'john@doe.com', 'name': 'John Doe'},
                 'headers': {'content_type': 'application/json'},
                 'status_code': 201}
}

with Mock(expectation) as client:
    # The mock URL is available to use
    client.mock_url  # 'http://127.0.0.1:9876/mock/fbf01f94169640de9e585fe5e30a0958/'

    # This method will make a request to the mock
    response = client.response()
    assert response.status_code == 201