{ "info": { "author": "Yun Xu", "author_email": "yunxu1992@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Software Distribution" ], "description": "pytest-sanic\n============\n\n.. start-badges\n\n.. list-table::\n :stub-columns: 1\n\n * - Build\n - | |travis| |coverage|\n * - Docs\n - |docs|\n * - Package\n - | |version| |wheel| |supported-versions| |supported-implementations|\n\n.. |travis| image:: https://travis-ci.org/yunstanford/pytest-sanic.svg?branch=master\n :alt: Travis-CI Build Status\n :target: https://travis-ci.org/yunstanford/pytest-sanic\n\n.. |coverage| image:: https://coveralls.io/repos/github/yunstanford/pytest-sanic/badge.svg?branch=master\n :alt: coverage status\n :target: https://coveralls.io/github/yunstanford/pytest-sanic?branch=master\n\n.. |docs| image:: https://readthedocs.org/projects/pytest-sanic/badge/?style=flat\n :target: https://readthedocs.org/projects/pytest-sanic\n :alt: Documentation Status\n\n.. |version| image:: https://img.shields.io/pypi/v/pytest-sanic.svg\n :alt: PyPI Package latest release\n :target: https://pypi.python.org/pypi/pytest-sanic\n\n.. |wheel| image:: https://img.shields.io/pypi/wheel/pytest-sanic.svg\n :alt: PyPI Wheel\n :target: https://pypi.python.org/pypi/pytest-sanic\n\n.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/pytest-sanic.svg\n :alt: Supported versions\n :target: https://pypi.python.org/pypi/pytest-sanic\n\n.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/pytest-sanic.svg\n :alt: Supported implementations\n :target: https://pypi.python.org/pypi/pytest-sanic\n\n.. end-badges\n\nA pytest plugin for `Sanic `_. It helps you to test your code asynchronously.\n\nThis plugin provides:\n\n* very easy testing with async coroutines\n* common and useful fixtures\n* asynchronous fixture support\n* test_client/sanic_client for Sanic application\n* test_server for Sanic application\n\n\nYou can find out more here:\n\nhttp://pytest-sanic.readthedocs.io/en/latest/\n\n\n-------\nInstall\n-------\n\n.. code::\n\n pip install pytest-sanic\n\n\n-----------\nQuick Start\n-----------\n\nYou don't have to load ``pytest-sanic`` explicitly. ``pytest`` will do it for you. Just write tests like,\n\n.. code-block:: python\n\n async def test_sanic_db_find_by_id(app):\n \"\"\"\n Let's assume that, in db we have,\n {\n \"id\": \"123\",\n \"name\": \"Kobe Bryant\",\n \"team\": \"Lakers\",\n }\n \"\"\"\n doc = await app.db[\"players\"].find_by_id(\"123\")\n assert doc.name == \"Kobe Bryant\"\n assert doc.team == \"Lakers\"\n\n\nHere's much more realistic & useful example,\n\n.. code-block:: python\n\n from .app import create_app\n\n @pytest.yield_fixture\n def app():\n app = create_app(test_config, **params)\n yield app\n\n @pytest.fixture\n def test_cli(loop, app, sanic_client):\n return loop.run_until_complete(sanic_client(app))\n\n async def test_index(test_cli):\n resp = await test_cli.get('/')\n assert resp.status == 200\n\n async def test_player(test_cli):\n resp = await test_cli.get('/player')\n assert resp.status == 200\n\n\n--------------------\nasynchronous fixture\n--------------------\n\n``pytest-sanic`` also supports asynchronous fixtures, just writes them like common pytest fixtures.\n\n.. code-block:: python\n\n @pytest.fixture\n async def async_fixture_sleep():\n await asyncio.sleep(0.1)\n return \"sleep...\"\n\n\n--------\nFixtures\n--------\n\nSome fixtures for easy testing.\n\n``loop``\n~~~~~~~~\n\n``pytest-sanic`` creates an event loop and injects it as a fixture. ``pytest`` will use this event loop to run your ``async tests``.\nBy default, fixture ``loop`` is an instance of `asyncio.new_event_loop`. But `uvloop` is also an option for you, by simpy passing\n``--loop uvloop``. Keep mind to just use one single event loop.\n\n\n``unused_port``\n~~~~~~~~~~~~~~~\n\nan unused TCP port on the localhost.\n\n\n``test_server``\n~~~~~~~~~~~~~~~\n\nCreates a TestServer instance by giving a ``Sanic`` application. It's very easy to utilize ``test_server`` to create your `Sanic`\napplication server for testing.\n\n.. code-block:: python\n\n @pytest.yield_fixture\n def app():\n app = Sanic(\"test_sanic_app\")\n\n @app.route(\"/test_get\", methods=['GET'])\n async def test_get(request):\n return response.json({\"GET\": True})\n\n yield app\n\n @pytest.fixture\n def sanic_server(loop, app, test_server):\n return loop.run_until_complete(test_server(app))\n\nYou can also very easily override this ``loop`` fixture by creating your own, simply like,\n\n.. code-block:: python\n\n @pytest.yield_fixture\n def loop():\n loop = MyEventLoop()\n yield loop\n loop.close()\n\n``test_client``\n~~~~~~~~~~~~~~~\n\n``test_client`` has been deprecated, please use `sanic_client` instead, check out `issue `_ for more context.\n\n\n``sanic_client``\n~~~~~~~~~~~~~~~~\n\nCreates a TestClient instance by giving a ``Sanic`` application. You can simply have a client by using ``sanic_client``, like\n\n.. code-block:: python\n\n @pytest.yield_fixture\n def app():\n app = Sanic(\"test_sanic_app\")\n\n @app.route(\"/test_get\", methods=['GET'])\n async def test_get(request):\n return response.json({\"GET\": True})\n\n @app.route(\"/test_post\", methods=['POST'])\n async def test_post(request):\n return response.json({\"POST\": True})\n\n @app.route(\"/test_put\", methods=['PUT'])\n async def test_put(request):\n return response.json({\"PUT\": True})\n\n @app.route(\"/test_delete\", methods=['DELETE'])\n async def test_delete(request):\n return response.json({\"DELETE\": True})\n\n @app.route(\"/test_patch\", methods=['PATCH'])\n async def test_patch(request):\n return response.json({\"PATCH\": True})\n\n @app.route(\"/test_options\", methods=['OPTIONS'])\n async def test_options(request):\n return response.json({\"OPTIONS\": True})\n\n @app.route(\"/test_head\", methods=['HEAD'])\n async def test_head(request):\n return response.json({\"HEAD\": True})\n\n @app.websocket(\"/test_ws\")\n async def test_ws(request, ws):\n data = await ws.recv()\n await ws.send(data)\n\n yield app\n\n @pytest.fixture\n def test_cli(loop, app, sanic_client):\n return loop.run_until_complete(sanic_client(app, protocol=WebSocketProtocol))\n\n #########\n # Tests #\n #########\n\n async def test_fixture_test_client_get(test_cli):\n \"\"\"\n GET request\n \"\"\"\n resp = await test_cli.get('/test_get')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"GET\": True}\n\n async def test_fixture_test_client_post(test_cli):\n \"\"\"\n POST request\n \"\"\"\n resp = await test_cli.post('/test_post')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"POST\": True}\n\n async def test_fixture_test_client_put(test_cli):\n \"\"\"\n PUT request\n \"\"\"\n resp = await test_cli.put('/test_put')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"PUT\": True}\n\n async def test_fixture_test_client_delete(test_cli):\n \"\"\"\n DELETE request\n \"\"\"\n resp = await test_cli.delete('/test_delete')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"DELETE\": True}\n\n async def test_fixture_test_client_patch(test_cli):\n \"\"\"\n PATCH request\n \"\"\"\n resp = await test_cli.patch('/test_patch')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"PATCH\": True}\n\n async def test_fixture_test_client_options(test_cli):\n \"\"\"\n OPTIONS request\n \"\"\"\n resp = await test_cli.options('/test_options')\n assert resp.status == 200\n resp_json = await resp.json()\n assert resp_json == {\"OPTIONS\": True}\n\n async def test_fixture_test_client_head(test_cli):\n \"\"\"\n HEAD request\n \"\"\"\n resp = await test_cli.head('/test_head')\n assert resp.status == 200\n resp_json = await resp.json()\n # HEAD should not have body\n assert resp_json is None\n\n async def test_fixture_test_client_ws(test_cli):\n \"\"\"\n Websockets\n \"\"\"\n ws_conn = await test_cli.ws_connect('/test_ws')\n data = 'hello world!'\n await ws_conn.send_str(data)\n msg = await ws_conn.receive()\n assert msg.data == data\n await ws_conn.close()\n\n\nsmall notes:\n\n``test_cli.ws_connect`` does not work in ``sanic.__version__ <= '0.5.4'``, because of a Sanic bug, but it\nhas been fixed in master branch. And ``websockets.__version__ >= '4.0'`` has broken websockets in ``sanic.__version__ <= '0.6.0'``, but it has been fixed in `master `_.\n\n\n----\nTips\n----\n\n* `Blueprints Testing `_\n* ``test_cli.ws_connect`` does not work in ``sanic.__version__ <= '0.5.4'``, because of a Sanic bug, but it has been fixed in master branch.\n* `Importing app has loop already running `_ when you have `db_init` listeners.\n* `Incorrect coverage report `_ with ``pytest-cov``, but we can have workarounds for this issue, it's a pytest loading plugin problem essentially.\n* Websockets > 4.0 has broken websockets in ``sanic.__version__ <= '0.6.0'``, but it has been fixed in `this commit `_\n\n\nFeel free to create issue if you have any question. You can also check out `closed issues `_\n\n\n-----------\nDevelopment\n-----------\n\n``pytest-sanic`` accepts contributions on GitHub, in the form of issues or pull requests.\n\n\nRun unit tests.\n\n.. code::\n\n ./uranium test\n\n\n---------\nReference\n---------\n\nSome useful pytest plugins:\n\n* `pytest-tornado `_\n* `pytest-asyncio `_\n* `pytest-aiohttp `_\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/yunstanford/pytest-sanic/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pytest-sanic", "package_url": "https://pypi.org/project/pytest-sanic/", "platform": "", "project_url": "https://pypi.org/project/pytest-sanic/", "project_urls": { "Homepage": "https://github.com/yunstanford/pytest-sanic/" }, "release_url": "https://pypi.org/project/pytest-sanic/1.1.2/", "requires_dist": [ "pytest", "aiohttp", "async-generator" ], "requires_python": "", "summary": "a pytest plugin for Sanic", "version": "1.1.2" }, "last_serial": 5962141, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6714679105fbcbc88e89c89a43c9fbc6", "sha256": "1b0e8336447e9b2d450dc84ae6c4f0ef9b661709c06c236a9142ce82bf083f39" }, "downloads": -1, "filename": "pytest_sanic-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6714679105fbcbc88e89c89a43c9fbc6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20771, "upload_time": "2019-09-02T22:39:58", "url": "https://files.pythonhosted.org/packages/1a/94/4b04cfcccc82090a822f76d76505205706db5fa16940e77d7f609ad80a76/pytest_sanic-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b92bba8140d705312df1ce79bc7457e0", "sha256": "379405ec41dd696c59928bf02fd304a12e19b50d57eefc89150c73f5721ed7d3" }, "downloads": -1, "filename": "pytest-sanic-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b92bba8140d705312df1ce79bc7457e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15183, "upload_time": "2019-09-02T22:39:59", "url": "https://files.pythonhosted.org/packages/44/95/658ed998d57bb1393f8f1d04a26573266d9769b812e9dd195f49bcdca4a0/pytest-sanic-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cf9bbd3290d4771d232cbb7e7f689f2d", "sha256": "3fcecb05c58a86767096be9a9d23a94902e30647d7fdb694b62e2016ed30a157" }, "downloads": -1, "filename": "pytest_sanic-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf9bbd3290d4771d232cbb7e7f689f2d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12283, "upload_time": "2017-06-29T05:08:34", "url": "https://files.pythonhosted.org/packages/91/16/c3ae421d38d31033504ba68404a286f389f590acab164ab26f5e91c79c51/pytest_sanic-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f17339f5dfd5a2e2fde0842653a54d92", "sha256": "05419c3cbd46ae6ea12ddc120552809ae2ff321ff0a3ffd4a9365a2390f01c3d" }, "downloads": -1, "filename": "pytest-sanic-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f17339f5dfd5a2e2fde0842653a54d92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7514, "upload_time": "2017-06-29T05:08:31", "url": "https://files.pythonhosted.org/packages/ca/25/53909ad56bf2ee842589fce653e47e4a1879aa2ab3e47d1f5de83c99dd1f/pytest-sanic-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "e9d1e093b197532a750518b035e00dca", "sha256": "34bb7554d0150c9c5a53c8a538adb4629e28fa63fb480b526f062af19504df1a" }, "downloads": -1, "filename": "pytest_sanic-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9d1e093b197532a750518b035e00dca", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11706, "upload_time": "2018-06-17T03:49:12", "url": "https://files.pythonhosted.org/packages/86/41/106bb17cc26d35cb39ebf85f0a7b12498ca6ca6dcf9448eddf188655c071/pytest_sanic-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f36f0a2e69d282ac3ac177acf278639e", "sha256": "a68026af6896fb17b5f64e1a99e9fafa0f10ab81c56ebfea102d1bb22a7e762a" }, "downloads": -1, "filename": "pytest-sanic-0.1.10.tar.gz", "has_sig": false, "md5_digest": "f36f0a2e69d282ac3ac177acf278639e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9345, "upload_time": "2018-06-17T03:49:10", "url": "https://files.pythonhosted.org/packages/10/e4/ea3666873a2629e2467e7790465d80d64fd5119d26bdfec008e9ab33baf0/pytest-sanic-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "5a146026dabdf7b8e2a6471502b6041e", "sha256": "6f22ad043b2f741410bfc42ff8ec66eaab6f45b93fd9abe3764d814c7481ab75" }, "downloads": -1, "filename": "pytest_sanic-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a146026dabdf7b8e2a6471502b6041e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11695, "upload_time": "2018-06-17T03:56:06", "url": "https://files.pythonhosted.org/packages/3d/55/796fe9b6e2fbcd0425d8fce814873165202dc498df15b48e3f3cb6d58e1e/pytest_sanic-0.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4633559e37052c9c59def3308c472af4", "sha256": "d2ff9f9f8096cec6955191322a9e671225165f99d114080c6e14d2d45a8634f4" }, "downloads": -1, "filename": "pytest-sanic-0.1.11.tar.gz", "has_sig": false, "md5_digest": "4633559e37052c9c59def3308c472af4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9336, "upload_time": "2018-06-17T03:56:04", "url": "https://files.pythonhosted.org/packages/0b/00/dd67cd263f6fd2c6f6a4d9b2782c5b58b9b3c60e89e4553525b8f79ff510/pytest-sanic-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "f91b95e89ea85f864bcf46c439467242", "sha256": "b28302f0762882f8664bef44aa1b8f1b528368a6476ad3c44f935684f2502bd0" }, "downloads": -1, "filename": "pytest_sanic-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f91b95e89ea85f864bcf46c439467242", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11698, "upload_time": "2018-06-17T04:16:45", "url": "https://files.pythonhosted.org/packages/06/31/d7609ecff094e91109efd9175b00c869400817c506ba356bffcb39931ac0/pytest_sanic-0.1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bd12960c3aa57d1116720d314ddb1e1", "sha256": "071b5a9de713af700d82a9d3239cb589247288dd834c72cf4d3d72d65d17acf0" }, "downloads": -1, "filename": "pytest-sanic-0.1.12.tar.gz", "has_sig": false, "md5_digest": "4bd12960c3aa57d1116720d314ddb1e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9344, "upload_time": "2018-06-17T04:16:44", "url": "https://files.pythonhosted.org/packages/c7/07/a6dc0ad83f633431f8ab03b8fd704b237206f192ac7f581da020b92d613f/pytest-sanic-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "eb8e9c220c2f93de8b87a51f057c6040", "sha256": "457ca7fc36db978b4a58065549c815dae0c6a86bb1ca24de575dd3b7b5130346" }, "downloads": -1, "filename": "pytest_sanic-0.1.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb8e9c220c2f93de8b87a51f057c6040", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11687, "upload_time": "2018-08-03T20:17:05", "url": "https://files.pythonhosted.org/packages/fb/fa/ecb61a4d97ddb56f007b633548f4d822220b9a22c77cde11f09d2a3357e2/pytest_sanic-0.1.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e7e4af42629893c36385f31c08a6fa1", "sha256": "99f4f1e9ea0583b827439596413daa51d7fb470d9787934f90f3f7da7e16e3e9" }, "downloads": -1, "filename": "pytest-sanic-0.1.13.tar.gz", "has_sig": false, "md5_digest": "3e7e4af42629893c36385f31c08a6fa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9339, "upload_time": "2018-08-03T20:17:04", "url": "https://files.pythonhosted.org/packages/f3/16/429652a75f99157536ed7e509cc5f3cc4d792c9e864f9b71864666137a36/pytest-sanic-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "fcc82eeebb6a70bcd2543a784b5d8678", "sha256": "f3b8ad14260fd90ed5dbf05ac7a1f46a1d0ceea02e3e78da51d13b58166f292d" }, "downloads": -1, "filename": "pytest_sanic-0.1.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fcc82eeebb6a70bcd2543a784b5d8678", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15928, "upload_time": "2018-11-11T04:10:44", "url": "https://files.pythonhosted.org/packages/17/5e/aab07163407c51856f245300cc12415b2ae98e94e79da18577c92140bc87/pytest_sanic-0.1.14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4db3d939bddffdba12e980cbf85651dd", "sha256": "a18c8674d25a6c42cc147819344ee0cf79cf1519fc58b9770acf6d88a520ae55" }, "downloads": -1, "filename": "pytest-sanic-0.1.14.tar.gz", "has_sig": false, "md5_digest": "4db3d939bddffdba12e980cbf85651dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11414, "upload_time": "2018-11-11T04:10:41", "url": "https://files.pythonhosted.org/packages/39/f3/3ff51b6df934d5c1fd7675a9d98b7de51eed59ef5f4a76a86098a2566e2a/pytest-sanic-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "3a5a284d302ec061d3b8f9c9d222b6d7", "sha256": "54cae23480e6e1eeef2b3b56c66367db5d3d5ae9784619da4598ec32b7d7fc69" }, "downloads": -1, "filename": "pytest_sanic-0.1.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3a5a284d302ec061d3b8f9c9d222b6d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15928, "upload_time": "2018-11-11T04:35:54", "url": "https://files.pythonhosted.org/packages/02/c9/0967c71597cc358ed89af16765ef91bfd6197a3579da837c95eb6d135752/pytest_sanic-0.1.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70fdfe6ca7eee75a6ee26a0b53b56c0c", "sha256": "71d6bbbe7cc0e8fdd7e69fe872a372490b417a4fbdeb7c00d63cee29cd9eb1a0" }, "downloads": -1, "filename": "pytest-sanic-0.1.15.tar.gz", "has_sig": false, "md5_digest": "70fdfe6ca7eee75a6ee26a0b53b56c0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11418, "upload_time": "2018-11-11T04:59:40", "url": "https://files.pythonhosted.org/packages/19/a0/52b6bc7038a8d33b879a72cbd4ba4725c02e3e69fa3b8ba795333d548250/pytest-sanic-0.1.15.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f610f6c9a0c88c6ecc66ea23d00761a3", "sha256": "b9d3fcb90685a1cf28ade33b7d146ff4268ac77b8ad4dd707d1689277d4fe7c4" }, "downloads": -1, "filename": "pytest_sanic-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f610f6c9a0c88c6ecc66ea23d00761a3", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12513, "upload_time": "2017-07-08T04:21:32", "url": "https://files.pythonhosted.org/packages/55/6d/d9e3c3b2cb4694b2963a16a0ee168bb3cc488abac89b62dda0d85f226359/pytest_sanic-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf269811b3e20573659b26ec1bd69c6b", "sha256": "833ed5e0e3f494923d55dd5d089a32ca272cdedec03dba7507357b37cecbce4d" }, "downloads": -1, "filename": "pytest-sanic-0.1.2.tar.gz", "has_sig": false, "md5_digest": "cf269811b3e20573659b26ec1bd69c6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7646, "upload_time": "2017-07-08T04:21:30", "url": "https://files.pythonhosted.org/packages/8f/44/a36f6d666ec43d03ece200a399b0bc1c070c95451ddf44b77111371b49b1/pytest-sanic-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "008c68947cf6e5544780c8838a3f34a6", "sha256": "a0e9c33fb7b024ac23b8c9c6b4ea8534803e6fee3b7610cea446b46dcae98a4a" }, "downloads": -1, "filename": "pytest_sanic-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "008c68947cf6e5544780c8838a3f34a6", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 12966, "upload_time": "2017-07-24T22:54:37", "url": "https://files.pythonhosted.org/packages/b9/07/2d9f96d420c973c26bbde2a82558f7f5a0db2de9c2a401985a1b174b469a/pytest_sanic-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cc50dade86068046f272235e01dd1ad", "sha256": "332f6d487f85f20e01e636191a9d5e761cae9a872dede5bf8f3f1e1d0b4c989d" }, "downloads": -1, "filename": "pytest-sanic-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0cc50dade86068046f272235e01dd1ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7970, "upload_time": "2017-07-24T22:54:35", "url": "https://files.pythonhosted.org/packages/71/5c/0f01acc48f952eb894ec2c0271789b9ff07df263fbf9592b27960e4084b5/pytest-sanic-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "5b7f3d1024835cf1fda352c03a839c0f", "sha256": "d90e6be411c183ade72490118161c96f71caa47ef7f4b471492d09df213f6902" }, "downloads": -1, "filename": "pytest_sanic-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b7f3d1024835cf1fda352c03a839c0f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13508, "upload_time": "2017-09-26T03:09:52", "url": "https://files.pythonhosted.org/packages/8d/ac/14ff8d59ac43a833aadb69d326569b48b1e6e0117dee00a849d31fbd0db0/pytest_sanic-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be8c93dc3594224784874c72f9d5d65d", "sha256": "85117b63b8db4110d8b42b1c3376ed0c24c0a8989603121051ce2d62369de2b3" }, "downloads": -1, "filename": "pytest-sanic-0.1.4.tar.gz", "has_sig": false, "md5_digest": "be8c93dc3594224784874c72f9d5d65d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8362, "upload_time": "2017-09-26T03:09:49", "url": "https://files.pythonhosted.org/packages/7c/2f/e9addec3bca716bac1c7522a1dc2e2c05820062b3e4c0f5684667a9f4d8e/pytest-sanic-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9249cfbbbaf4c096ee52cdc4af9aaeb7", "sha256": "52a339864e03ce060c0b4288dd99bd11e7fb94b91339503d38ffee70d1c51720" }, "downloads": -1, "filename": "pytest_sanic-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9249cfbbbaf4c096ee52cdc4af9aaeb7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13361, "upload_time": "2017-10-27T01:28:29", "url": "https://files.pythonhosted.org/packages/6b/4f/191b48f6ba69df9435db419fd67f523f0f12ea75494d1f6d4cfb31e1a436/pytest_sanic-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae027ccf2cced7bcb4e64e96c6908867", "sha256": "c00fdf6521d9d43cadcf8c7c7a71d0fd25d32051caae58f0cd49608ca8a5b9b2" }, "downloads": -1, "filename": "pytest-sanic-0.1.5.tar.gz", "has_sig": false, "md5_digest": "ae027ccf2cced7bcb4e64e96c6908867", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8234, "upload_time": "2017-10-27T01:28:27", "url": "https://files.pythonhosted.org/packages/66/33/233ce6ad39da46543dbab106d5c434cdcb5564723e361fb169c88931756b/pytest-sanic-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "47b3e24a5789572761d445a49f4401f6", "sha256": "ef3c6e8213e065f13ede54add7388faa8506e9aabc47bbf08d08e67fe81992f3" }, "downloads": -1, "filename": "pytest_sanic-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47b3e24a5789572761d445a49f4401f6", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13606, "upload_time": "2017-11-26T04:47:03", "url": "https://files.pythonhosted.org/packages/4e/f5/6fe85f6b65fa6f7652088559e3429f0d7098ca405dc1230b98461c9ec864/pytest_sanic-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26dd09f0620a5b04c4d99e912a12d09b", "sha256": "14869558762288a59c8f7a93d614248414b50325f138401c3f890c2daf1588ee" }, "downloads": -1, "filename": "pytest-sanic-0.1.6.tar.gz", "has_sig": false, "md5_digest": "26dd09f0620a5b04c4d99e912a12d09b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8377, "upload_time": "2017-11-26T04:47:00", "url": "https://files.pythonhosted.org/packages/0e/e0/416de1c1dbaeb40a9a02354a3962c0b47cd3e529ceb560bcfae7045d43bd/pytest-sanic-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "aa3d4c6b079e2d34345639e9a6b6f8cf", "sha256": "f610718ead09596747f21fc58a05d1908cc1b12d00a8e9a90d002ee3ee23c975" }, "downloads": -1, "filename": "pytest_sanic-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa3d4c6b079e2d34345639e9a6b6f8cf", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13662, "upload_time": "2018-02-12T21:13:50", "url": "https://files.pythonhosted.org/packages/ec/b3/d29f89135a7a5009b9402003e88af778e9339db0d7cdb9e2f57c087b67fc/pytest_sanic-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c17cfdd3978feecca888856105ac727c", "sha256": "43cc36d00fbb2115f1d182c1abc608195ffdf570ca0da8d19fe9e3466df574a6" }, "downloads": -1, "filename": "pytest-sanic-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c17cfdd3978feecca888856105ac727c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8417, "upload_time": "2018-02-12T21:13:49", "url": "https://files.pythonhosted.org/packages/95/7f/c79978fc59d801ae71d6c68c9eccde2343c9666beae072fa1bfd62c0fc34/pytest-sanic-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "a268ba9fe6ba8253934e3232276d323e", "sha256": "42a30d7dab0e407bbaaaa6c9bd3cab21ce8e6363a5d6e8a6f3f06503fecfc5d1" }, "downloads": -1, "filename": "pytest_sanic-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a268ba9fe6ba8253934e3232276d323e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13651, "upload_time": "2018-02-13T16:27:59", "url": "https://files.pythonhosted.org/packages/04/e8/23c94724af50f5507342cf6341804506a6219ab80476d0f968318dfbb52e/pytest_sanic-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10265fbac4272f63baa240ea8c7317f7", "sha256": "da3be5462f37f66be3588ed2afaea6b694f795500c94ea66718b2464871ad055" }, "downloads": -1, "filename": "pytest-sanic-0.1.8.tar.gz", "has_sig": false, "md5_digest": "10265fbac4272f63baa240ea8c7317f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8416, "upload_time": "2018-02-13T16:27:57", "url": "https://files.pythonhosted.org/packages/00/6d/f1988aac231426b74f3698070d0e4d12b3485a059e59b50e5da1574e8fc7/pytest-sanic-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "cf46ed6c36f062f049eae25c90edd7e3", "sha256": "1bcd85fe5d7f9107dbab374a818a92035ee00e0fa60aca0d841253928dd7c4d4" }, "downloads": -1, "filename": "pytest_sanic-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf46ed6c36f062f049eae25c90edd7e3", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13678, "upload_time": "2018-03-02T04:30:23", "url": "https://files.pythonhosted.org/packages/6c/3e/53ff92ae9c47a1111c74e4d54f3aa05bf5e5607def866aaa96b49ceb0b0c/pytest_sanic-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7f289c82abb61100a5da9cce73951ad", "sha256": "f3667d4377f856780630fa5e23be29efd9df3fbff5a07d3467529dc02c8f93c3" }, "downloads": -1, "filename": "pytest-sanic-0.1.9.tar.gz", "has_sig": false, "md5_digest": "f7f289c82abb61100a5da9cce73951ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8428, "upload_time": "2018-03-02T04:30:21", "url": "https://files.pythonhosted.org/packages/37/09/9a7c4bfc7575fd21a792b38910949d4aa18bef4d841ba47e525ab2785c65/pytest-sanic-0.1.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "bfd1b8ef03260b197f01e9ab66405082", "sha256": "9b6608fc86453cee23bc989203fde54728a07b31efb2ac6f2cfa771ee114f134" }, "downloads": -1, "filename": "pytest_sanic-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfd1b8ef03260b197f01e9ab66405082", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16343, "upload_time": "2019-02-26T15:38:07", "url": "https://files.pythonhosted.org/packages/f3/7e/0aa3e5361e3e82d3b3a542094681e7badbbd934e1340d91646ce00151187/pytest_sanic-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e6046c30336e24fef676cc833c9b0092", "sha256": "a1da3c8445fb1bd1af92757796132c4eb97051b1b142cd93ece18a97aec18a6e" }, "downloads": -1, "filename": "pytest-sanic-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e6046c30336e24fef676cc833c9b0092", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12574, "upload_time": "2019-02-26T15:38:03", "url": "https://files.pythonhosted.org/packages/b3/ce/678c94b4d4bf74d2c6ec5a56d2f5c8b28131e94d70cd698e81df4bee465e/pytest-sanic-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "edcae567e8a2c592b151f6fd2442e9b3", "sha256": "7860be0b6173963eb5b95728741c00198d0a96fc3ccd84a513a08448b76b58a6" }, "downloads": -1, "filename": "pytest_sanic-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "edcae567e8a2c592b151f6fd2442e9b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16335, "upload_time": "2019-10-09T19:52:34", "url": "https://files.pythonhosted.org/packages/bc/44/218e6b60ec75f5ea3444564a8c12b2a0439299853ae2919329953a19e442/pytest_sanic-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85b2d868763b7dd5129357dbeb38aa15", "sha256": "b4cd55885cce494198d664b7002c48a065a3f910729c92716432ba43107bde95" }, "downloads": -1, "filename": "pytest-sanic-1.1.0.tar.gz", "has_sig": false, "md5_digest": "85b2d868763b7dd5129357dbeb38aa15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11648, "upload_time": "2019-10-09T19:52:36", "url": "https://files.pythonhosted.org/packages/07/bf/9ca33f465cf83e1a0df0a85310868a144d5dd2fb7dc59835b5100554882e/pytest-sanic-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8d5e250809731b3da241a52340c6e121", "sha256": "1d54037e285cb9e050436a5e2e4c53a078acea62b47c771e576fde4bbb552cda" }, "downloads": -1, "filename": "pytest_sanic-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8d5e250809731b3da241a52340c6e121", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16928, "upload_time": "2019-10-11T22:12:01", "url": "https://files.pythonhosted.org/packages/85/99/0a643783af448016900535ecf34cb3a6443b57bb8a899732132bd1600911/pytest_sanic-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2f31507f1b12339d56cdaf7b9cba681", "sha256": "772a26df45b793f12c73dd5293a0937e5504ed2fe094288e4b6f756760694d9b" }, "downloads": -1, "filename": "pytest-sanic-1.1.1.tar.gz", "has_sig": false, "md5_digest": "c2f31507f1b12339d56cdaf7b9cba681", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11664, "upload_time": "2019-10-11T22:12:08", "url": "https://files.pythonhosted.org/packages/d8/d9/79fb2d1786196c2189c4864ea84c640500f794faa3bd90e783f35325c6ad/pytest-sanic-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "7617824d72461fde47adbd951ac709ef", "sha256": "9d33e5862198e2d6af2407638f0ae328fd9913a50c74b16ad0b2c6f1b31fccd9" }, "downloads": -1, "filename": "pytest_sanic-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7617824d72461fde47adbd951ac709ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12649, "upload_time": "2019-10-11T22:22:35", "url": "https://files.pythonhosted.org/packages/a2/2c/53a45c1968ac17e80943976db1651abf021510e01a79f461cc6798dce9f9/pytest_sanic-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abd17ae4329953017d21caefacbdbd9f", "sha256": "61a60e1b0456b2ceaeeb7173783f3450332c3609017fb6b18176b307f7186d3a" }, "downloads": -1, "filename": "pytest-sanic-1.1.2.tar.gz", "has_sig": false, "md5_digest": "abd17ae4329953017d21caefacbdbd9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10153, "upload_time": "2019-10-11T22:22:37", "url": "https://files.pythonhosted.org/packages/be/35/9dfab907311e610750b7b437622ee0e3ce17187221c6b76a8ec88b3a6958/pytest-sanic-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7617824d72461fde47adbd951ac709ef", "sha256": "9d33e5862198e2d6af2407638f0ae328fd9913a50c74b16ad0b2c6f1b31fccd9" }, "downloads": -1, "filename": "pytest_sanic-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7617824d72461fde47adbd951ac709ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12649, "upload_time": "2019-10-11T22:22:35", "url": "https://files.pythonhosted.org/packages/a2/2c/53a45c1968ac17e80943976db1651abf021510e01a79f461cc6798dce9f9/pytest_sanic-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abd17ae4329953017d21caefacbdbd9f", "sha256": "61a60e1b0456b2ceaeeb7173783f3450332c3609017fb6b18176b307f7186d3a" }, "downloads": -1, "filename": "pytest-sanic-1.1.2.tar.gz", "has_sig": false, "md5_digest": "abd17ae4329953017d21caefacbdbd9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10153, "upload_time": "2019-10-11T22:22:37", "url": "https://files.pythonhosted.org/packages/be/35/9dfab907311e610750b7b437622ee0e3ce17187221c6b76a8ec88b3a6958/pytest-sanic-1.1.2.tar.gz" } ] }