{ "info": { "author": "Dan Root", "author_email": "rootdan+pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "Intended Audience :: Developers", "License :: Freely Distributable", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing" ], "description": "pytest-consul \n=============\n\npytest-consul is a pytest plugin meant for being able to do integration and\nunit testing against [Hashicorp's Consul](https://www.consul.io/).\n\nThis plugin is heavily influenced by the design of \n[DisposableConsul](https://github.com/EverythingMe/disposable-consul).\n\nInstall\n-------\n\n $ pip install pytest-consul\n\nUsage\n-----\n\nWhen pytest-consul is installed, the fixtures available will ensure that an\nactual local consul agent in bootstrap mode is running. The fixture object\ncontains a dictionary containing each of the exposed consul ports by name.\n\nThe `consul` fixture is session scoped. All tests using it will share catalog\nand kv state.\n\n def test_consul_thing(consul):\n http_port = consul['http']\n my_app.register_consul(('localhost', http_port))\n my_app.do_something_that_writes_to_consul_kv()\n resp = requests.get('http://localhost:{port}/v1/key/my-test-key'.format(\n port=http_port))\n actual_value = base64.b64decode(resp.json()[0]['Value'])\n assert actual_value == 'my-expected-value'\n\n\nThe `consul_clean` fixture is function scoped. If you want a clean consul state \nfor a given test, this fixture will provide it.\n\n\nNote\n----\n\nThe consul agent takes a second or two to start up, even in bootstrap mode.\nThis makes these fixtures better for integration style tests, rather than unit\ntests. Using the function scope `consul_clean` in particular is going to add\nthat additional latency to every single test which uses it. The flip side of\nthis is that using the session scope `consul` will not give you test isolation;\nif your tests leave values in the kv store or catalog, it may affect any tests\nthat run after them.\n\n\nOptions\n-------\n\npytest-consul adds the option `--consul-binary` to py.test, allowing you to\nutilize a specific consul binary. By default, it will pick the first `consul`\navailable in the PATH.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/daroot/pytest-consul", "keywords": "pytest,consul", "license": "WTFPL", "maintainer": "", "maintainer_email": "", "name": "pytest-consul", "package_url": "https://pypi.org/project/pytest-consul/", "platform": "any", "project_url": "https://pypi.org/project/pytest-consul/", "project_urls": { "Homepage": "http://github.com/daroot/pytest-consul" }, "release_url": "https://pypi.org/project/pytest-consul/0.2.0/", "requires_dist": [ "pytest", "pytest-timeout ; extra == 'all'", "pytest-cov ; extra == 'all'", "pytest ; extra == 'all'", "requests ; extra == 'all'", "pytest-flake8 ; extra == 'all'", "configparser ; extra == 'all'", "pytest ; extra == 'install'", "configparser ; extra == 'setup'", "pytest ; extra == 'tests'", "pytest-cov ; extra == 'tests'", "pytest-flake8 ; extra == 'tests'", "pytest-timeout ; extra == 'tests'", "requests ; extra == 'tests'" ], "requires_python": "", "summary": "pytest plugin with fixtures for testing consul aware apps", "version": "0.2.0" }, "last_serial": 4523092, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "d02958407a4d7c6f528ea8e8074fd390", "sha256": "ff0e9c69e9410ab8ad3e866894b1871eecfc5f4bfeb7bb6ae32ac60d005b14ed" }, "downloads": -1, "filename": "pytest_consul-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d02958407a4d7c6f528ea8e8074fd390", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7823, "upload_time": "2016-07-04T18:36:26", "url": "https://files.pythonhosted.org/packages/db/da/ff2475deb7a441c9fbbc816cb057c690337852d64c3967ea86ba32fff4ba/pytest_consul-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2666b354baab68d9b760196929b7e427", "sha256": "39c9b4ff19ef2769748d3fcb8724b2da7361df1d24cf51a915f9d81218689e12" }, "downloads": -1, "filename": "pytest-consul-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2666b354baab68d9b760196929b7e427", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4633, "upload_time": "2016-07-04T18:36:21", "url": "https://files.pythonhosted.org/packages/cf/a3/0bf5d2adcc422189316f1608105a27b162a5e4b58ebd8ddd395223e8225b/pytest-consul-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "300b111bf8f7061ecc7eb60566074fa1", "sha256": "583e6fbb0c3722b4a548f4bf27cb533a09af176c7ea5f33b6d9c402b8f32db32" }, "downloads": -1, "filename": "pytest_consul-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "300b111bf8f7061ecc7eb60566074fa1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7868, "upload_time": "2017-03-01T22:23:42", "url": "https://files.pythonhosted.org/packages/e8/13/9b4a2a2cf49eb20dbb4373e5b6685157adbbab9b1a68b2d1872d9ec01d67/pytest_consul-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2717fa2dd4510354e21b3150ea2d61fb", "sha256": "ff41a798dc824666b91040df664ba9df97fc3f6e20ebbcf2cd0a44990b12ce31" }, "downloads": -1, "filename": "pytest-consul-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2717fa2dd4510354e21b3150ea2d61fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4845, "upload_time": "2017-03-01T22:23:44", "url": "https://files.pythonhosted.org/packages/3c/22/dc8a78341f723f2a03b199d84e62b9ba3944d65e87218267344b2c2c5f31/pytest-consul-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "96b1f434eb47dadd65a2069dac34fc11", "sha256": "a521a1010de3fca4b70f4e02cc9519041763ab430650fbccf730f65a822be180" }, "downloads": -1, "filename": "pytest_consul-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96b1f434eb47dadd65a2069dac34fc11", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6659, "upload_time": "2018-11-24T09:38:19", "url": "https://files.pythonhosted.org/packages/b2/81/73d35eb6aa0eadc6154304d75c968eff439063b9580e1421582d6e805da8/pytest_consul-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb9bdaa492f7a8a0c1a5070163cfe25f", "sha256": "9990cff16f624b155b0a54ccf10dc16885d793365af020a5e6844a987914d3dd" }, "downloads": -1, "filename": "pytest-consul-0.2.0.tar.gz", "has_sig": false, "md5_digest": "eb9bdaa492f7a8a0c1a5070163cfe25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5095, "upload_time": "2018-11-24T09:38:20", "url": "https://files.pythonhosted.org/packages/f8/be/1cded3f5fd26962899583b1bca426f14ad1dfee7d79ea5e00d7dcfa94b14/pytest-consul-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "96b1f434eb47dadd65a2069dac34fc11", "sha256": "a521a1010de3fca4b70f4e02cc9519041763ab430650fbccf730f65a822be180" }, "downloads": -1, "filename": "pytest_consul-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96b1f434eb47dadd65a2069dac34fc11", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6659, "upload_time": "2018-11-24T09:38:19", "url": "https://files.pythonhosted.org/packages/b2/81/73d35eb6aa0eadc6154304d75c968eff439063b9580e1421582d6e805da8/pytest_consul-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb9bdaa492f7a8a0c1a5070163cfe25f", "sha256": "9990cff16f624b155b0a54ccf10dc16885d793365af020a5e6844a987914d3dd" }, "downloads": -1, "filename": "pytest-consul-0.2.0.tar.gz", "has_sig": false, "md5_digest": "eb9bdaa492f7a8a0c1a5070163cfe25f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5095, "upload_time": "2018-11-24T09:38:20", "url": "https://files.pythonhosted.org/packages/f8/be/1cded3f5fd26962899583b1bca426f14ad1dfee7d79ea5e00d7dcfa94b14/pytest-consul-0.2.0.tar.gz" } ] }