{ "info": { "author": "Davide Moro", "author_email": "davide.moro@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "=========\nplay mqtt\n=========\n\n\n.. image:: https://img.shields.io/pypi/v/play_mqtt.svg\n :target: https://pypi.python.org/pypi/play_mqtt\n\n.. image:: https://travis-ci.org/davidemoro/play_mqtt.svg?branch=develop\n :target: https://travis-ci.org/davidemoro/play_mqtt\n\n.. image:: https://readthedocs.org/projects/play-mqtt/badge/?version=latest\n :target: https://play-mqtt.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/davidemoro/play_mqtt/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/davidemoro/play_mqtt\n\n\n``pytest-play`` support for MQTT support.\n\nThanks to ``play_mqtt`` you can test the integration between a mocked IoT\ndevice that sends commands on MQTT and a reactive web application with UI checks.\n\nYou can also build a simulator that generates messages for you.\n\nMore info and examples on:\n\n* pytest-play_, documentation\n* cookiecutter-qa_, see ``pytest-play`` in action with a working example if you want to start hacking\n\n\nFeatures\n--------\n\nThis project defines a new pytest-play_ command:\n\n::\n\n - provider: mqtt\n type: publish\n host: \"$mqtt_host\"\n port: $mqtt_port\n endpoint: \"$mqtt_endpoint\"\n payload: '{\n \"endpoint\": \"$mqtt_endpoint\",\n \"payload\": {\n \"obj_id_L\": [0],\n \"bin_value\": [77251432],\n \"measure_id\": [100],\n \"measureType\": [\"float\"],\n \"start_time\": 1514911926114\n },\n \"host\": \"$mqtt_host\",\n \"provider\": \"mqtt\",\n \"type\": \"publish\",\n \"port\": \"$mqtt_port\"}'\n\nSubscribe command::\n\n test_data:\n - data: ciao1\n ---\n - provider: mqtt\n type: subscribe\n host: iot.eclipse.org\n port: 1883\n topic: \"home/bedroom/light\"\n name: \"messages\"\n - provider: mqtt\n type: publish\n host: iot.eclipse.org\n port: 1883\n endpoint: \"home/bedroom/light\"\n payload: $data\n - provider: python\n type: wait_until\n timeout: 6\n expression: 'len(variables[\"messages\"]) == 1'\n poll: 0.1\n sub_commands: []\n - provider: python\n type: assert\n expression: 'len(variables[\"messages\"]) == 1'\n - provider: python\n type: assert\n expression: 'variables[\"messages\"][0] == \"$data\"'\n\nTwitter\n-------\n\n``pytest-play`` tweets happens here:\n\n* `@davidemoro`_\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the cookiecutter-play-plugin_ (based on `audreyr/cookiecutter-pypackage`_ project template).\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _`cookiecutter-play-plugin`: https://github.com/davidemoro/cookiecutter-play-plugin\n.. _pytest-play: https://github.com/davidemoro/pytest-play\n.. _cookiecutter-qa: https://github.com/davidemoro/cookiecutter-qa\n.. _`@davidemoro`: https://twitter.com/davidemoro\n\n\n=======\nCHANGES\n=======\n\n0.0.5 (2019-04-03)\n------------------\n\n- Implement ``subscribe`` command\n\n\n0.0.4 (2019-01-26)\n------------------\n\n- Fix pypi README rendering (rif #7)\n\n\n0.0.3 (2019-01-25)\n------------------\n\n- Supports new pytest-play >= 2.0 YAML based syntax (json no more supported)\n\n- No more payload parmeter is json encodable\n\n\n0.0.2 (2018-01-10)\n------------------\n\n- Commands accept kwargs now\n\n\n0.0.1 (2018-01-04)\n------------------\n\n* First release\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/davidemoro/play_mqtt", "keywords": "play_mqtt", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "play-mqtt", "package_url": "https://pypi.org/project/play-mqtt/", "platform": "", "project_url": "https://pypi.org/project/play-mqtt/", "project_urls": { "Homepage": "https://github.com/davidemoro/play_mqtt" }, "release_url": "https://pypi.org/project/play-mqtt/0.0.5/", "requires_dist": [ "paho-mqtt", "pytest-play (>=2.0.0)", "pytest ; extra == 'tests'", "mock ; extra == 'tests'", "pytest-cov ; extra == 'tests'" ], "requires_python": "", "summary": "pytest-play support for MQTT", "version": "0.0.5" }, "last_serial": 5091909, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "63465af0aa0d1f16712f9adf04af6a85", "sha256": "b2d75f5b73aec1935da7d935e8ed69434016cc70d0dbc5dd31d6f091b5bc32f2" }, "downloads": -1, "filename": "play_mqtt-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "63465af0aa0d1f16712f9adf04af6a85", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5177, "upload_time": "2018-01-04T09:45:51", "url": "https://files.pythonhosted.org/packages/0e/cd/268acc1ce1ed663404cf1b76f76426166b30a3a2538ea0e15193c3ee8a99/play_mqtt-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c0832bdde17c118273001af2f762315", "sha256": "dee2a25e4c20a0ab09bad973a1dd86c06cc9a1c90ed68d4821b65ac1f22c5842" }, "downloads": -1, "filename": "play_mqtt-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3c0832bdde17c118273001af2f762315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11811, "upload_time": "2018-01-04T09:45:53", "url": "https://files.pythonhosted.org/packages/27/d5/27e5389e7a0496582908c8c76d9caa7e40de709fc6b90d35b2b66b432c3e/play_mqtt-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d7414708d8c3e8640b84a762d8eb5b7c", "sha256": "f15d1f335883110cae04c2b656edff5d950a359ef4e78cf3d5bf52134fe314ce" }, "downloads": -1, "filename": "play_mqtt-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d7414708d8c3e8640b84a762d8eb5b7c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5098, "upload_time": "2018-01-10T08:50:31", "url": "https://files.pythonhosted.org/packages/2f/ac/d17fc9243177e1a73ec2af7cbea67c6187f58cac3301e6786f75c43aa845/play_mqtt-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "64fc5b445c7c3185f9a512ebbf7bcba0", "sha256": "42bd569410fa3b9636e25a6b51caab7e8a8e4a454c4cc69de0eb273ed1141a70" }, "downloads": -1, "filename": "play_mqtt-0.0.2.tar.gz", "has_sig": false, "md5_digest": "64fc5b445c7c3185f9a512ebbf7bcba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11863, "upload_time": "2018-01-10T08:50:32", "url": "https://files.pythonhosted.org/packages/60/e7/fe973386668271b25b54098de09a7495c6eaa64f35330f4a51964a499567/play_mqtt-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a9a94524f8b28d72efd295b538f9e361", "sha256": "cb40afad3851211b04dffaf72a08209d7719acafe5c5b96a0278e71524e99862" }, "downloads": -1, "filename": "play_mqtt-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9a94524f8b28d72efd295b538f9e361", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7397, "upload_time": "2019-01-25T23:07:47", "url": "https://files.pythonhosted.org/packages/58/25/920cb67582371685023d495b5311749ab34416587c9ec55ebd3873340bdd/play_mqtt-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6a3fa3cc5369934d89be58d2fce0fb9", "sha256": "70265c84db737c1aead8288160c877831e6a4207483155fc0255c1c16534e33f" }, "downloads": -1, "filename": "play_mqtt-0.0.3.tar.gz", "has_sig": false, "md5_digest": "c6a3fa3cc5369934d89be58d2fce0fb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15734, "upload_time": "2019-01-25T23:07:48", "url": "https://files.pythonhosted.org/packages/2f/42/499f0fa57e1f08d7b36fd6f8073e60bf4e637dcfe2cfe3257c51667d45e4/play_mqtt-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "5fc16dd1e6c2b32645b6bc0a0c742f55", "sha256": "3003a48e41b695005b1b779ae44b5aabbc9466b24352e486cd1636d50272bb98" }, "downloads": -1, "filename": "play_mqtt-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5fc16dd1e6c2b32645b6bc0a0c742f55", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7433, "upload_time": "2019-01-25T23:31:57", "url": "https://files.pythonhosted.org/packages/39/f9/1cdc7c1d12e7e9a94405a3dc1c07687b28dd20964914df786e93d80578b4/play_mqtt-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d55c1f2e37feaae24cefe5e35c9010ae", "sha256": "5db0517316fe414241ec06f59c92686d875c5364ee1daaeea5f62c4b40d03621" }, "downloads": -1, "filename": "play_mqtt-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d55c1f2e37feaae24cefe5e35c9010ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15623, "upload_time": "2019-01-25T23:31:58", "url": "https://files.pythonhosted.org/packages/d8/01/ec5b4b24b74352f825f4fbfd0dfb690891576c96e67c6e96f15bc6ab5dbb/play_mqtt-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "b5cb9e57ad38af587dc17ccbc78929e4", "sha256": "0fb681d0a1e5a5d753846da6c518922e98ee650855ee8bbab24d5d131f3c7d73" }, "downloads": -1, "filename": "play_mqtt-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5cb9e57ad38af587dc17ccbc78929e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7862, "upload_time": "2019-04-03T16:29:54", "url": "https://files.pythonhosted.org/packages/2b/f3/a74dfdd31b37d73b336530e076042596a00a66f89aad040c1ff03da17534/play_mqtt-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bb5a54ab4f25dc587af4a58d492be1f", "sha256": "75c8a7483c142b85353fc4aea24fa5dc7140dbe3edc9d9a6af593994dcc31f17" }, "downloads": -1, "filename": "play_mqtt-0.0.5.tar.gz", "has_sig": false, "md5_digest": "1bb5a54ab4f25dc587af4a58d492be1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16551, "upload_time": "2019-04-03T16:29:56", "url": "https://files.pythonhosted.org/packages/cd/c2/397b0a055492b96b34645da6d9fae6fc938b9ebace73b335438a025fda53/play_mqtt-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5cb9e57ad38af587dc17ccbc78929e4", "sha256": "0fb681d0a1e5a5d753846da6c518922e98ee650855ee8bbab24d5d131f3c7d73" }, "downloads": -1, "filename": "play_mqtt-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5cb9e57ad38af587dc17ccbc78929e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7862, "upload_time": "2019-04-03T16:29:54", "url": "https://files.pythonhosted.org/packages/2b/f3/a74dfdd31b37d73b336530e076042596a00a66f89aad040c1ff03da17534/play_mqtt-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bb5a54ab4f25dc587af4a58d492be1f", "sha256": "75c8a7483c142b85353fc4aea24fa5dc7140dbe3edc9d9a6af593994dcc31f17" }, "downloads": -1, "filename": "play_mqtt-0.0.5.tar.gz", "has_sig": false, "md5_digest": "1bb5a54ab4f25dc587af4a58d492be1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16551, "upload_time": "2019-04-03T16:29:56", "url": "https://files.pythonhosted.org/packages/cd/c2/397b0a055492b96b34645da6d9fae6fc938b9ebace73b335438a025fda53/play_mqtt-0.0.5.tar.gz" } ] }