{ "info": { "author": "Flavio Curella", "author_email": "flavio.curella@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "===============\ntesting-aiohttp\n===============\n\n.. image:: https://travis-ci.org/genericclient/testing-aiohttp.svg?branch=master\n :target: https://travis-ci.org/genericclient/testing-aiohttp\n\nTesting utilities for `aiohttp`. Python 3.5+ only.\n\n\nInstallation\n============\n\n::\n\n $ pip install testing-aiohttp\n\nUsage\n=====\n\n``RouteManager``\n---------------------------\n\n``RouteManager`` will mock up responses for `aiohttp.Client``.\n\nThe API is inspired by the ``responses`` library::\n\n from aiohttp import ClientSession\n from asynctest import TestCase\n\n from testing_aiohttp import RouteManager\n\n\n # Create your tests here.\n class MyTestCase(TestCase):\n async def test_response_data(self):\n with RouteManager() as rsps:\n rsps.add('GET', 'http://example.org/users', json=[\n {\n 'id': 1,\n 'username': 'user1',\n 'group': 'watchers',\n },\n {\n 'id': 2,\n 'username': 'user2',\n 'group': 'watchers',\n },\n ])\n\n async with ClientSession() as session:\n response = await session.get('http://example.org/users')\n self.assertEqual(response, 200)\n users = await response.json()\n self.assertEqual(len(users), 2)\n\n::\n\n from aiohttp import ClientSession\n from asynctest import TestCase\n\n from testing_aiohttp import RouteManager\n\n\n async def request_callback(request):\n return (200, {}, 'ok')\n\n\n class MyTestCase(TestCase):\n\n async def test_endpoint_detail_route(self):\n with RouteManager() as rsps:\n rsps.add_callback(\n 'POST', 'http://example.org/users/2/notify',\n callback=request_callback,\n content_type='application/json',\n )\n\n async with ClientSession() as session:\n response = await session.post('http://example.org/users/2/notify')\n self.assertEqual(await response.text(), 'ok')\n\n::\n from aiohttp import ClientSession\n from asynctest import TestCase\n\n from testing_aiohttp.rsps import RouteManager, RouteNotFoundError\n\n\n class MyTestCase(TestCase):\n async def test_response_match_querystring(self):\n with RouteManager() as rsps:\n rsps.add('GET', 'http://example.org/users?username=user1', json=[\n {\n 'id': 1,\n 'username': 'user1',\n 'group': 'watchers',\n },\n ], match_querystring=True)\n\n with ClientSession() as session:\n response = await session.get('http://example.org/users', params={'username': 'user1'})\n self.assertEqual(response.status, 200)\n users = await response.json()\n self.assertEqual(len(users), 1)\n\n with self.assertRaises(RouteNotFoundError):\n with RouteManager() as rsps:\n rsps.add('GET', 'http://example.org/users?username=user1', json=[\n {\n 'id': 1,\n 'username': 'user1',\n 'group': 'watchers',\n },\n ], match_querystring=True)\n\n with ClientSession() as session:\n await session.get('http://example.org/users')\n\n\nLicense\n=======\n\nLicensed under the MIT License.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/genericclient/testing-aiohttp", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "testing-aiohttp", "package_url": "https://pypi.org/project/testing-aiohttp/", "platform": "", "project_url": "https://pypi.org/project/testing-aiohttp/", "project_urls": { "Homepage": "https://github.com/genericclient/testing-aiohttp" }, "release_url": "https://pypi.org/project/testing-aiohttp/0.0.7/", "requires_dist": [ "aiohttp (<2.4,>=2.3.2)" ], "requires_python": "", "summary": "", "version": "0.0.7" }, "last_serial": 3352930, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "cb041439b4d6eb62d93a2df7d6fd3c92", "sha256": "c5849b40d74b2969689ab8a12f52f009dc4c67d288d8a88ed1a6128784ecf3ee" }, "downloads": -1, "filename": "testing_aiohttp-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cb041439b4d6eb62d93a2df7d6fd3c92", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6831, "upload_time": "2017-11-16T21:23:41", "url": "https://files.pythonhosted.org/packages/4b/58/b21e33a04249eca344810fbefeda63a6cbac89eedeeaa945ded70ba98dfe/testing_aiohttp-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c85d96bb3b79fd6b70b11f88846760b", "sha256": "71c505542639e513fa607304474cbe23a534d72b1da105375dda697bcd9d67d4" }, "downloads": -1, "filename": "testing-aiohttp-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1c85d96bb3b79fd6b70b11f88846760b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3610, "upload_time": "2017-11-16T21:23:43", "url": "https://files.pythonhosted.org/packages/32/0e/d89770bd1e0ed59af58c957b01696f96f9019afceba0a4db739892399d22/testing-aiohttp-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "37e4a80c3c44ddac2ae73a13d764acaf", "sha256": "eae43213ab607b04deb492f392d65dcf3d0957d00bc44dbe902e6a8335ac1913" }, "downloads": -1, "filename": "testing_aiohttp-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37e4a80c3c44ddac2ae73a13d764acaf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6773, "upload_time": "2017-11-16T21:35:01", "url": "https://files.pythonhosted.org/packages/bc/18/8509a4224cefb2ff6af44956a195b980a9aa3a55f0a082fcccbf3fb277b3/testing_aiohttp-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "873662047bb92f2cf8fc896d0bb38500", "sha256": "5645b651a9aa6be920eb55aa015380f3f91cb954938b0fe15080a393ab95b185" }, "downloads": -1, "filename": "testing-aiohttp-0.0.2.tar.gz", "has_sig": false, "md5_digest": "873662047bb92f2cf8fc896d0bb38500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3544, "upload_time": "2017-11-16T21:35:02", "url": "https://files.pythonhosted.org/packages/68/5b/e0b7cbdcea3c4e45db70d692b79c1d6e4013e0dc538123cb29156bed0303/testing-aiohttp-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d8e06f861762baac1a32abc4f6d1ddfc", "sha256": "f711df0ef0938c0569b7c5f96b718b3d91ce8430b449afa8fa7f47a92b1f87e7" }, "downloads": -1, "filename": "testing_aiohttp-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d8e06f861762baac1a32abc4f6d1ddfc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6750, "upload_time": "2017-11-16T22:00:58", "url": "https://files.pythonhosted.org/packages/2c/f6/71f323aa20849d5e3dd213f391a517587e153acf9dca2e4132be2315f33f/testing_aiohttp-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d407cd3ce2f2984d33ba6eb412439a1a", "sha256": "8f328b8ddee9d271406a8ec4bb4cf7da3693032d5c80e07e86ce47d21f368835" }, "downloads": -1, "filename": "testing-aiohttp-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d407cd3ce2f2984d33ba6eb412439a1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3531, "upload_time": "2017-11-16T22:01:00", "url": "https://files.pythonhosted.org/packages/8e/7a/1b94f2877be1099189093cfbbab4b8777d58afc31429d383e3bd30f2be01/testing-aiohttp-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "986bc27e43b1794805fef2849402cf76", "sha256": "a3a8d4655b3b8fb1c9d1a0f3fc31cb02babc70fb007f24c3cca0efa1678e6a8a" }, "downloads": -1, "filename": "testing_aiohttp-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "986bc27e43b1794805fef2849402cf76", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7320, "upload_time": "2017-11-17T20:08:46", "url": "https://files.pythonhosted.org/packages/ac/65/d5d9953fa993273ddf8ffa673ba9450aca0d014e1edf59815e609f5ce3c6/testing_aiohttp-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e302c329335dd2535dc3ac046e199b7", "sha256": "2bb60147e6c1aa122f3e5d6c72cc5041a4b5029cd5412f638334988e15290a18" }, "downloads": -1, "filename": "testing-aiohttp-0.0.4.tar.gz", "has_sig": false, "md5_digest": "5e302c329335dd2535dc3ac046e199b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3971, "upload_time": "2017-11-17T20:08:47", "url": "https://files.pythonhosted.org/packages/77/97/5c075cfeac2202fd3b1bcb8de3b7e8f98750bc4be9966273e912bece70db/testing-aiohttp-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "6c8e744f062d48e15e0af028a511f7da", "sha256": "e200f9b1a5133d4be02ab758d39f26e32898073e54ef0987dc2c159f437a6716" }, "downloads": -1, "filename": "testing_aiohttp-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6c8e744f062d48e15e0af028a511f7da", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7281, "upload_time": "2017-11-17T21:51:47", "url": "https://files.pythonhosted.org/packages/08/19/bbd39e3a4340a527c8d89d4db55e407c67ab5b843bca281b1c9eab3b44f0/testing_aiohttp-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d327a8c464380d0a65664e68df6a4013", "sha256": "cf5fae2e5aaa6bb885ed8ce624d094838047c29632abe4ea1ef5c3cb0324456a" }, "downloads": -1, "filename": "testing-aiohttp-0.0.5.tar.gz", "has_sig": false, "md5_digest": "d327a8c464380d0a65664e68df6a4013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3935, "upload_time": "2017-11-17T21:51:49", "url": "https://files.pythonhosted.org/packages/f4/7f/7bb113dc93d15247983533a0b5c56c3f9ae006c2b9f3998a683894ac3581/testing-aiohttp-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "41285d55a20724f5f8b01db3a4c398d8", "sha256": "2cd146cc98290e694f56a491627220c13b87598a072edd22bca52f5d9d9fc459" }, "downloads": -1, "filename": "testing_aiohttp-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41285d55a20724f5f8b01db3a4c398d8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9338, "upload_time": "2017-11-20T23:44:18", "url": "https://files.pythonhosted.org/packages/c9/55/0b344c5480410ff1e641eca801e6b61dfba652d22e5c430958ec0b89e9e1/testing_aiohttp-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3266864494f2ea1f5485a7ffc6266189", "sha256": "b02364903efc5e1ee2c9df08caf8f9782a4c737ff48e5dbff5f73314bbcda331" }, "downloads": -1, "filename": "testing-aiohttp-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3266864494f2ea1f5485a7ffc6266189", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5613, "upload_time": "2017-11-20T23:44:20", "url": "https://files.pythonhosted.org/packages/f4/a8/a70228ee5a4b73342634d6cd8e1b76d74be6b1de8c69351aee6245f864e6/testing-aiohttp-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "d96505d69402d6db41255aa656d33fd7", "sha256": "1d57d57ac2414d0dceed62e471e59bd5d60268a406e6aec7e2415ba051a2a2bd" }, "downloads": -1, "filename": "testing_aiohttp-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d96505d69402d6db41255aa656d33fd7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8884, "upload_time": "2017-11-21T18:34:16", "url": "https://files.pythonhosted.org/packages/7b/28/108466b14e6c2aae4f887d0d012a4c4441c816fc29868278229817c1ae1e/testing_aiohttp-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "526f133a1f78ecaf716e08fb246bd730", "sha256": "5bda0e21769b9d908b4f276dfdfb192c17a4d9d62a49e1dd7855d9d5d7427f2b" }, "downloads": -1, "filename": "testing-aiohttp-0.0.7.tar.gz", "has_sig": false, "md5_digest": "526f133a1f78ecaf716e08fb246bd730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5202, "upload_time": "2017-11-21T18:34:17", "url": "https://files.pythonhosted.org/packages/f8/3e/020d38fc94184008c16d4acfa6815174cc1d77c28124e0436635560d9f3a/testing-aiohttp-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d96505d69402d6db41255aa656d33fd7", "sha256": "1d57d57ac2414d0dceed62e471e59bd5d60268a406e6aec7e2415ba051a2a2bd" }, "downloads": -1, "filename": "testing_aiohttp-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d96505d69402d6db41255aa656d33fd7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8884, "upload_time": "2017-11-21T18:34:16", "url": "https://files.pythonhosted.org/packages/7b/28/108466b14e6c2aae4f887d0d012a4c4441c816fc29868278229817c1ae1e/testing_aiohttp-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "526f133a1f78ecaf716e08fb246bd730", "sha256": "5bda0e21769b9d908b4f276dfdfb192c17a4d9d62a49e1dd7855d9d5d7427f2b" }, "downloads": -1, "filename": "testing-aiohttp-0.0.7.tar.gz", "has_sig": false, "md5_digest": "526f133a1f78ecaf716e08fb246bd730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5202, "upload_time": "2017-11-21T18:34:17", "url": "https://files.pythonhosted.org/packages/f8/3e/020d38fc94184008c16d4acfa6815174cc1d77c28124e0436635560d9f3a/testing-aiohttp-0.0.7.tar.gz" } ] }