{ "info": { "author": "Andrew Sumin", "author_email": "sumin.andrew@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "## tornado-httpclient-mock\nA library for mocking requests in Tornado HTTP client \n\n[![Build Status](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock.svg?branch=master)](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock)\n[![codecov](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock/branch/master/graph/badge.svg)](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock)\n\nThis library can be used to patch `AsyncHTTPClient.fetch_impl` method to stub requests to external resources.\n\n`tornado_mock.httpclient.patch_http_client` does this patching on `AsyncHTTPClient` instance.\nAfter that you can use `tornado_mock.httpclient.set_stub` method to setup an appropriate responses to the requests.\n\n```python\nfrom tornado import gen\nfrom tornado.httpclient import AsyncHTTPClient\nfrom tornado.testing import AsyncHTTPTestCase\nfrom tornado.web import Application, RequestHandler\n\nfrom tornado_mock.httpclient import get_response_stub, patch_http_client, set_stub\n\n\nclass TestHandler(RequestHandler):\n @gen.coroutine\n def get(self, *args, **kwargs):\n response1 = yield self.application.http_client.fetch('http://example.com/path?query')\n self.write(response1.body)\n\n response2 = yield self.application.http_client.fetch('http://test.com/path')\n self.finish(response2.body)\n\n\nclass HTTPClientMockTest(AsyncHTTPTestCase):\n def get_app(self):\n app = Application([('/test', TestHandler)])\n self.app_http_client = app.http_client = AsyncHTTPClient(force_instance=True)\n return app\n\n def test_mock(self):\n patch_http_client(self.app_http_client)\n\n def get_response(request):\n return get_response_stub(request, buffer='STUB2')\n\n set_stub(self.app_http_client, 'http://example.com/path', response_body='STUB1')\n set_stub(self.app_http_client, 'http://test.com/path', response_function=get_response)\n\n self.assertEqual(self.fetch('/test').body, b'STUB1STUB2')\n```\n\nFor more information see docstrings in [httpclient.py](tornado_mock/httpclient.py).\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SuminAndrew/tornado-httpclient-mock", "keywords": "", "license": "http://www.apache.org/licenses/LICENSE-2.0", "maintainer": "", "maintainer_email": "", "name": "tornado-httpclient-mock", "package_url": "https://pypi.org/project/tornado-httpclient-mock/", "platform": "", "project_url": "https://pypi.org/project/tornado-httpclient-mock/", "project_urls": { "Homepage": "https://github.com/SuminAndrew/tornado-httpclient-mock" }, "release_url": "https://pypi.org/project/tornado-httpclient-mock/0.2.3/", "requires_dist": [ "tornado" ], "requires_python": "", "summary": "A library for mocking requests in Tornado HTTP client", "version": "0.2.3" }, "last_serial": 4308098, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "48ba9271f5201adb99bda255e7a73717", "sha256": "2960498bb90781c23c104bc845c376529dafdf4897eb4ba40b9a9319bf6bb868" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.1.0.tar.gz", "has_sig": false, "md5_digest": "48ba9271f5201adb99bda255e7a73717", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3526, "upload_time": "2017-02-20T12:50:48", "url": "https://files.pythonhosted.org/packages/b7/a6/0103fe99b134c20fc7b763602f163cb19898bfbe95b6843d202f96fc6728/tornado-httpclient-mock-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8c2ab097fd2e2e32a72fd7cbb117ede5", "sha256": "24dd0837ac4f640a46f67a4a4d295bd66e57d1965add31d33fbd5b98ed238681" }, "downloads": -1, "filename": "tornado_httpclient_mock-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c2ab097fd2e2e32a72fd7cbb117ede5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6627, "upload_time": "2018-07-10T07:16:09", "url": "https://files.pythonhosted.org/packages/36/5f/bbf765fb361196fd9bf916f10ab0204cff5d404bda009f7868fc1481afbe/tornado_httpclient_mock-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c126c07687d15163f0011d6a9fdddb58", "sha256": "b64908390f3db832f7fd1d31bce363646da4f7a2fd41b0150bbe6fd5a01322dd" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c126c07687d15163f0011d6a9fdddb58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4224, "upload_time": "2018-07-10T07:16:10", "url": "https://files.pythonhosted.org/packages/87/81/abf6fc1f4cb06bf3b3b2f6ab3eb41233ab5c13e71a8f8ff986a6c13b689f/tornado-httpclient-mock-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "75015074af5564cbc93db63976beeba2", "sha256": "b170bd205c940d0340e895e9416a180213d1c68fa8170cbbab25aed3d0c3136b" }, "downloads": -1, "filename": "tornado_httpclient_mock-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75015074af5564cbc93db63976beeba2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6629, "upload_time": "2018-07-11T11:45:29", "url": "https://files.pythonhosted.org/packages/3e/48/335e268c89c4375d8ed289a213c6d5ef0f9e993773d2a03f5778e594bbf3/tornado_httpclient_mock-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa6a5f6e1fe4d945ef238128442427e8", "sha256": "730e71142fb63f79c915950abec0991572bb8bef5325bf8ad28ec0b5f19067db" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fa6a5f6e1fe4d945ef238128442427e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4467, "upload_time": "2018-07-11T11:45:30", "url": "https://files.pythonhosted.org/packages/2f/a8/e5b773bcfaa1c0cc921ef73e362f3c269b47593276fc8a120acf27bb2b0e/tornado-httpclient-mock-0.1.2.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "8630047d3a7aca5befe9fe6d95e565ed", "sha256": "e6153206e65623c8c78cd87c6a772fa4ec205d065d66c6932d394a9193724d5a" }, "downloads": -1, "filename": "tornado_httpclient_mock-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8630047d3a7aca5befe9fe6d95e565ed", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6696, "upload_time": "2018-09-25T10:52:44", "url": "https://files.pythonhosted.org/packages/a6/e1/979f510740358d98160d7abc63c21c6602e82c0d9236e8ab3ca6f3fbfbfb/tornado_httpclient_mock-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb9a9459b69b6c9f371192ecee20e5a9", "sha256": "9967bd0afdb03b2fdf44505de465472a6b573a628ad6f8d962e848576946328a" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.2.2.tar.gz", "has_sig": false, "md5_digest": "eb9a9459b69b6c9f371192ecee20e5a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4551, "upload_time": "2018-09-25T10:52:45", "url": "https://files.pythonhosted.org/packages/7a/97/e6972a8a5706c963eb98d1d762b7d8b50f4695ca71a48016148f136e019b/tornado-httpclient-mock-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "74778aa7c8ddd0c7cb88b55e7f3fe879", "sha256": "79ccebe5ddfbd62749b45657204de1adcbba0492561841778a3f658ffa467d14" }, "downloads": -1, "filename": "tornado_httpclient_mock-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74778aa7c8ddd0c7cb88b55e7f3fe879", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6698, "upload_time": "2018-09-25T10:56:42", "url": "https://files.pythonhosted.org/packages/48/be/b95d6bb2f352eff644f498c33b6dd132e2ca7e3cc30d94cd2e749d3e89ee/tornado_httpclient_mock-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04128a0960b8445f1ea02fe87c27fbfc", "sha256": "46ceecdf46a60ed6dad3ae74453cb28892ac814fcf6e1852cc2d1aca67d079a4" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.2.3.tar.gz", "has_sig": false, "md5_digest": "04128a0960b8445f1ea02fe87c27fbfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4549, "upload_time": "2018-09-25T10:56:43", "url": "https://files.pythonhosted.org/packages/2b/70/884e2d3565874c8e075dd763258481379173f9bccf90967af6f14e7d66e6/tornado-httpclient-mock-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "74778aa7c8ddd0c7cb88b55e7f3fe879", "sha256": "79ccebe5ddfbd62749b45657204de1adcbba0492561841778a3f658ffa467d14" }, "downloads": -1, "filename": "tornado_httpclient_mock-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74778aa7c8ddd0c7cb88b55e7f3fe879", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6698, "upload_time": "2018-09-25T10:56:42", "url": "https://files.pythonhosted.org/packages/48/be/b95d6bb2f352eff644f498c33b6dd132e2ca7e3cc30d94cd2e749d3e89ee/tornado_httpclient_mock-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04128a0960b8445f1ea02fe87c27fbfc", "sha256": "46ceecdf46a60ed6dad3ae74453cb28892ac814fcf6e1852cc2d1aca67d079a4" }, "downloads": -1, "filename": "tornado-httpclient-mock-0.2.3.tar.gz", "has_sig": false, "md5_digest": "04128a0960b8445f1ea02fe87c27fbfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4549, "upload_time": "2018-09-25T10:56:43", "url": "https://files.pythonhosted.org/packages/2b/70/884e2d3565874c8e075dd763258481379173f9bccf90967af6f14e7d66e6/tornado-httpclient-mock-0.2.3.tar.gz" } ] }