{ "info": { "author": "Hunter Senft-Grupp", "author_email": "huntcsg@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries" ], "description": "Expectly - An HTTP API centric BDD style test framework\n-------------------------------------------------------\n\n|travis| |pypi| |docs|\n\nUse Cases:\n\n - Making assertions about api responses more readable\n - Extending expectly with new assertions to reduce boilerplate\n\n\n .. DANGER::\n\n This library is in alpha. I will try my utmost to not make backwards incompatible changes\n but it is possible that\n\nInstalling\n==========\n\n .. code-block:: shell\n\n $ pip install expectly\n\nAPI Examples\n============\n\nBuilt In Assertion methods\n**************************\n\n .. code-block:: python\n\n # status_code (with status code number)\n expect(response).to.have.status_code(200)\n\n # header (asserts the header exists). Sets the header value to be further tested against\n expect(response).to.have.header('Content-Type')\n\n # equals\n expect(response).to.have.header('Content-Type').equal('application/json')\n\n # like (does a regex match against the value)\n expect(response).to.have.header('Content-Type').like('application')\n\n # exactly_like (does a regex match against the whole value\n expect(response).to.have.header('Content-Type').exactly_like('^application/[\\w]*$')\n\n # encoding\n expect(response).to.have.encoding('utf-8')\n\n # ok (uses requests.response.ok attribute)\n expect(response).to.be.ok\n\n\nExtending expectly.expect with additional assertions\n****************************************************\n\nTODO\n\nJSON handling in expectly\n*************************\n\n\njsonschema is used for evaluating whether json responses match the relevant schema\njmespath is used for navigating/selecting information to test inside of the json response\n\n\nDevelopment\n===========\n\n .. code-block:: shell\n\n $ git clone https://github.com/huntcsg/expectly.git\n $ cd expectly\n $ ./utils/manage clean\n $ ./utils/manage test\n $ ./utils/manage docs\n\n\n1. All pull requests must pass the travis-ci builds\n2. All pull requests should include inline (docstring) documentation, updates to built documentation if applicable,\n and test coverage. This project aspires to be a 100% test coverage library.\n\n\n.. |travis| image:: https://travis-ci.org/huntcsg/expectly.svg?branch=master\n :target: https://travis-ci.org/huntcsg/expectly\n.. |pypi| image:: https://img.shields.io/pypi/v/expectly.svg\n :target: https://pypi.python.org/pypi/expectly\n.. |docs| image:: https://readthedocs.org/projects/expectly/badge/?version=latest\n :target: http://expectly.readthedocs.io/en/latest/?badge=latest\nChanges\n=======\n\n0.1.0\n*****\n\n- Initial Release\nAuthors\n-------\n\nHunter Senft-Grupp\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/huntcsg/expectly", "keywords": "testing bdd rest api expect rspec chakram chai", "license": "", "maintainer": "", "maintainer_email": "", "name": "expectly", "package_url": "https://pypi.org/project/expectly/", "platform": "", "project_url": "https://pypi.org/project/expectly/", "project_urls": { "Homepage": "https://github.com/huntcsg/expectly" }, "release_url": "https://pypi.org/project/expectly/0.1.8/", "requires_dist": [ "jsonschema", "jmespath", "pytest; extra == 'dev'", "pytest-cov; extra == 'dev'", "pytest-html; extra == 'dev'", "requests; extra == 'dev'", "requests-mock; extra == 'dev'", "sphinx; extra == 'dev'", "sphinx-rtd-theme; extra == 'dev'", "isort; extra == 'dev'", "flake8; extra == 'dev'", "ipython; extra == 'dev'", "bumpversion; extra == 'dev'", "sphinx; extra == 'docs'", "sphinx-rtd-theme; extra == 'docs'", "pytest; extra == 'testing'", "pytest-cov; extra == 'testing'", "pytest-html; extra == 'testing'", "requests; extra == 'testing'", "requests-mock; extra == 'testing'" ], "requires_python": "", "summary": "An HTTP API centric BDD style test framework", "version": "0.1.8" }, "last_serial": 3363330, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e62fe8c60e78142f23cc946f9aefe0fe", "sha256": "636111eb0f93f27eef89b68ac6bf4293bcada4cca722e28f860f3dbae9925902" }, "downloads": -1, "filename": "expectly-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e62fe8c60e78142f23cc946f9aefe0fe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6969, "upload_time": "2017-11-25T04:52:41", "url": "https://files.pythonhosted.org/packages/fc/16/c40732401f00109df9f8f9f2df7bb23f3328e361d695057732e59feb0360/expectly-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e59d03c21ddc9df42ba2b36d4cc264a", "sha256": "b7dc0b0141660db4a1b3e65847dd44e1794459b78776439d7a037541073774aa" }, "downloads": -1, "filename": "expectly-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1e59d03c21ddc9df42ba2b36d4cc264a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8073, "upload_time": "2017-11-25T04:52:42", "url": "https://files.pythonhosted.org/packages/b6/19/4f384da9e4257354661a37bf0b888e256daf019f46239b0b2056d6fd104a/expectly-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7051abcbb4cba91c668f49f192d55e27", "sha256": "708d9c377c486a3f549896afb17d98198fa5dfc9e25e5e6523339a871bcb89ac" }, "downloads": -1, "filename": "expectly-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7051abcbb4cba91c668f49f192d55e27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6972, "upload_time": "2017-11-25T14:53:25", "url": "https://files.pythonhosted.org/packages/1d/8c/9fed4c3bea89a432fb1ecf4098eb1389d2ba87eb266ee8db8eff53b7b250/expectly-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e69aaac7c8581eb539fed944088d4526", "sha256": "b15d4647e92b504913364a2ad922345ecd3c02e6dc445955bb440044bd61d5a9" }, "downloads": -1, "filename": "expectly-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e69aaac7c8581eb539fed944088d4526", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8076, "upload_time": "2017-11-25T14:53:26", "url": "https://files.pythonhosted.org/packages/47/ca/ad2ee26c2ca27340619d1e66f24902a57f7018e594374dce1c04e8e1d2b5/expectly-0.1.1.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c2b59f34427181e6469f538e6af252c6", "sha256": "4d7ff045e8f796eab01024dcca07723fc00412784bcc4601f371b3dee096f959" }, "downloads": -1, "filename": "expectly-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c2b59f34427181e6469f538e6af252c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6973, "upload_time": "2017-11-25T17:22:33", "url": "https://files.pythonhosted.org/packages/a1/56/39ab71d818207c2dfb9279979515d48d18dd3bffcb5de7cbd42e01c6daa3/expectly-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f0ecc90f417070718cb178e4be6397e", "sha256": "665d8b274f23229b11647a96ddb2b97daf6bc938731b377a6fecbe7ea0a68460" }, "downloads": -1, "filename": "expectly-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6f0ecc90f417070718cb178e4be6397e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8088, "upload_time": "2017-11-25T17:22:36", "url": "https://files.pythonhosted.org/packages/45/6f/f2385d0d18afd1040bba939a9f9fe5f8a237ae056900a276375df22ba821/expectly-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "77087abd53b3ec5d3e53e9cb2afe1a62", "sha256": "06970caab11a1482a4462caab2f3dc71c00341b1dfddd0060406cd37c00685b2" }, "downloads": -1, "filename": "expectly-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77087abd53b3ec5d3e53e9cb2afe1a62", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6970, "upload_time": "2017-11-25T17:35:53", "url": "https://files.pythonhosted.org/packages/ea/8d/b0db17d9f1cfa453d8eacfea4c1349c27ec40b6cbb07b20f6aa2da329ad1/expectly-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "972a0ae0fc51ec005dd54251f6391973", "sha256": "bd9bd44abd875e8ef12f95bfc2391934ed3af00741cdb70029c31e348ec47f76" }, "downloads": -1, "filename": "expectly-0.1.6.tar.gz", "has_sig": false, "md5_digest": "972a0ae0fc51ec005dd54251f6391973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8091, "upload_time": "2017-11-25T17:35:54", "url": "https://files.pythonhosted.org/packages/42/56/747debb3285325e07404c2f08e68f531310a2a3618b12a3a95e5ed130beb/expectly-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "d824a88ca379fc9f4f679f6788c693cb", "sha256": "5fff4dce5844af27771ce98fe8027f93bb69e6d6d1447320814720aa24c94912" }, "downloads": -1, "filename": "expectly-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d824a88ca379fc9f4f679f6788c693cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6972, "upload_time": "2017-11-25T18:05:28", "url": "https://files.pythonhosted.org/packages/a1/60/46ab0884b36dc160af6bea765cd52b5c3d32d4b8b75b7f0b82e891955c5e/expectly-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ea6dbb350f6e3ce11a84777f7aa4ad3", "sha256": "22806c48a177f3eafde48099afbea9892dc9f5cb50f97b0ddf7717e5d94b66b1" }, "downloads": -1, "filename": "expectly-0.1.7.tar.gz", "has_sig": false, "md5_digest": "9ea6dbb350f6e3ce11a84777f7aa4ad3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8090, "upload_time": "2017-11-25T18:05:30", "url": "https://files.pythonhosted.org/packages/37/9e/a76ec33935bd08ac61697935087d687bba32b37abd0a20b53a03233fe5fa/expectly-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "75265dd5931e6729d26321a9d181ed9c", "sha256": "99b9514279fd006b4f9154dba19477b68d581fbec063f0d18d937805843b8d62" }, "downloads": -1, "filename": "expectly-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75265dd5931e6729d26321a9d181ed9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6970, "upload_time": "2017-11-25T18:49:05", "url": "https://files.pythonhosted.org/packages/84/f4/609cb53628b02a01d5fe07706e6d36bc20ddf2a50aa96e0bf5f47d08f3b0/expectly-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5cd4f356811a082ec1bfa6cfc7699f4", "sha256": "700a3fea2cc566ccdf95b016c90a228fc0f133ed7544396c2e8ff38c612b7842" }, "downloads": -1, "filename": "expectly-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f5cd4f356811a082ec1bfa6cfc7699f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8086, "upload_time": "2017-11-25T18:49:06", "url": "https://files.pythonhosted.org/packages/42/68/3711e82ff846a53297e86549221eccb01d6754817fc380eeff44540e9ca9/expectly-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "75265dd5931e6729d26321a9d181ed9c", "sha256": "99b9514279fd006b4f9154dba19477b68d581fbec063f0d18d937805843b8d62" }, "downloads": -1, "filename": "expectly-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75265dd5931e6729d26321a9d181ed9c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6970, "upload_time": "2017-11-25T18:49:05", "url": "https://files.pythonhosted.org/packages/84/f4/609cb53628b02a01d5fe07706e6d36bc20ddf2a50aa96e0bf5f47d08f3b0/expectly-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5cd4f356811a082ec1bfa6cfc7699f4", "sha256": "700a3fea2cc566ccdf95b016c90a228fc0f133ed7544396c2e8ff38c612b7842" }, "downloads": -1, "filename": "expectly-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f5cd4f356811a082ec1bfa6cfc7699f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8086, "upload_time": "2017-11-25T18:49:06", "url": "https://files.pythonhosted.org/packages/42/68/3711e82ff846a53297e86549221eccb01d6754817fc380eeff44540e9ca9/expectly-0.1.8.tar.gz" } ] }