{ "info": { "author": "The Echo Authors", "author_email": "wiliamsouza83@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Testing" ], "description": "echod\r\n=====\r\n\r\n|Build Status| |Coverage Status|\r\n\r\nEchod is a fully configurable mock server and an HTTP callback recorder.\r\nIt is perfect to test external services.\r\n\r\nIt is easy to controlling Echod on the fly from your code or using your\r\ntesting framework setup mechanism.\r\n\r\nThe main part of Echod is an HTTP server with an REST API, the Echo HTTP\r\nserver have a lot of flexibility and support many start up methods.\r\n\r\nEchod server can be run as:\r\n\r\n- A standalone using ``echod`` command line tool.\r\n- A WSGI HTTP Server application.\r\n- A Docker instance container.\r\n\r\nMock\r\n----\r\n\r\n.. code:: python\r\n\r\n import echod\r\n\r\n\r\n mock_response = {\r\n 'status_code': 200,\r\n 'body': {...},\r\n }\r\n\r\n request_contain = {\r\n 'body': {...}\r\n }\r\n\r\n expectation = {\r\n 'method': 'POST',\r\n 'path': '/v1/users/',\r\n 'request': request_contain,\r\n 'response': mock_response,\r\n }\r\n\r\n with echod.mock(**expectation) as client:\r\n response = client.post()\r\n response.status_code == 200\r\n\r\ncallback\r\n--------\r\n\r\n.. code:: python\r\n\r\n import requests\r\n\r\n\r\n with echod.callback() as webhook:\r\n settings.callback_url = webhook.url\r\n requests.post()\r\n webhook.wait_callback(timeout=10)\r\n webhook.response.data == {...}\r\n\r\n.. |Build Status| image:: https://travis-ci.org/wiliamsouza/echo.svg\r\n :target: https://travis-ci.org/wiliamsouza/echo\r\n.. |Coverage Status| image:: https://coveralls.io/repos/wiliamsouza/echo/badge.svg?branch=master&service=github\r\n :target: https://coveralls.io/github/wiliamsouza/echo?branch=master", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wiliamsouza/echod", "keywords": "mock chaos monkey proxy callback", "license": "UNKNOWN", "maintainer": "", "maintainer_email": "", "name": "echod", "package_url": "https://pypi.org/project/echod/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/echod/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/wiliamsouza/echod" }, "release_url": "https://pypi.org/project/echod/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Echod is a mock server and a callback recorder.", "version": "0.1.0" }, "last_serial": 1686654, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "96a76468fc90c05a7f54c725241990f1", "sha256": "6775a63c414b6ef80bdd037e09bd9a02761a5bb33255146a9aada312fdb7fb6b" }, "downloads": -1, "filename": "echod-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "96a76468fc90c05a7f54c725241990f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7616, "upload_time": "2015-08-21T00:07:21", "url": "https://files.pythonhosted.org/packages/5a/c4/242c8a4be21b8a432b4b87f482879388ce52c2f60004e3513fe2adfe4112/echod-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4f52d9e1bdf74bd6339406f061fc961", "sha256": "f5caf72235a80580e03e1643cd5271ab6775482cf0b4a8d9b04c20ce5db46108" }, "downloads": -1, "filename": "echod-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a4f52d9e1bdf74bd6339406f061fc961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5354, "upload_time": "2015-08-21T00:07:26", "url": "https://files.pythonhosted.org/packages/69/be/da8af1d9988b083d706285f2d41694e4f584d760bb89ce3b2b31490be34d/echod-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "96a76468fc90c05a7f54c725241990f1", "sha256": "6775a63c414b6ef80bdd037e09bd9a02761a5bb33255146a9aada312fdb7fb6b" }, "downloads": -1, "filename": "echod-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "96a76468fc90c05a7f54c725241990f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7616, "upload_time": "2015-08-21T00:07:21", "url": "https://files.pythonhosted.org/packages/5a/c4/242c8a4be21b8a432b4b87f482879388ce52c2f60004e3513fe2adfe4112/echod-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4f52d9e1bdf74bd6339406f061fc961", "sha256": "f5caf72235a80580e03e1643cd5271ab6775482cf0b4a8d9b04c20ce5db46108" }, "downloads": -1, "filename": "echod-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a4f52d9e1bdf74bd6339406f061fc961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5354, "upload_time": "2015-08-21T00:07:26", "url": "https://files.pythonhosted.org/packages/69/be/da8af1d9988b083d706285f2d41694e4f584d760bb89ce3b2b31490be34d/echod-0.1.0.tar.gz" } ] }