{
"info": {
"author": "Iliyan Slavov",
"author_email": "slavov.iliyan96@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Software Development :: Testing"
],
"description": "pyhttptest: HTTP tests over RESTful APIs\u2728\n##########################################\n\n.. image:: https://travis-ci.org/slaily/pyhttptest.svg?branch=master\n :target: https://travis-ci.org/slaily/pyhttptest\n\nPissed about writing test scripts against your RESTFul APIs anytime?\n\nDescribe an HTTP Requests test cases in a simplest and widely used format JSON within a file.\n\nRun one command and gain a summary report.\n\n\ud83d\udce3\n\n\ud83d\udce3 **Coverage measuring on Test Cases coming soon**\n\n\ud83d\udce3\n\n.. image:: https://www.dropbox.com/s/cd0g07dop4j1riq/pyhttptest-cli-table-of-results.png?raw=1\n :alt: pyhttptest in the command line\n :width: 100%\n :align: center\n\n\nInstallation\n******************************************\n\nRecommended installation method is to use ``pip``:\n\n.. code-block:: bash\n\n $ pip install pyhttptest\n\nPython version **3+** is required.\n\n\nUsage\n******************************************\n\n.. code-block:: bash\n\n $ pyhttptest execute FILE\n\nSee also ``pyhttptest --help``.\n\n\nExamples\n******************************************\n\nSingle test case\n------------------------------------------\n\nCreate a .json file and define a test case like an example:\n\n``FILE: HTTP_GET.json``\n\n.. code-block:: json\n\n {\n \"name\": \"TEST: List all users\",\n \"verb\": \"GET\",\n \"endpoint\": \"users\",\n \"host\": \"https://github.com\",\n \"headers\": {\n \"Accept-Language\": \"en-US\"\n },\n \"query_string\": {\n \"limit\": 5\n }\n }\n\nExecute a test case:\n\n.. code-block:: bash\n\n $ pyhttptest execute FILE_PATH/HTTP_GET.json\n\nResult:\n\n.. image:: https://www.dropbox.com/s/0h56p3c4jm4sriy/pyhttptest-cli.png?raw=1\n :alt: pyhttptest in the command line\n :width: 100%\n :align: center\n\n\u041cultiple test cases\n------------------------------------------\n\nCreate a .json file and define a test cases like an example:\n\n``FILE: requests.json``\n\n.. code-block:: json\n\n [\n {\n \"name\":\"TEST: List all users\",\n \"verb\":\"GET\",\n \"endpoint\":\"api/v1/users\",\n \"host\":\"http://localhost:8085/\",\n \"headers\":{\n \"Accept-Language\":\"en-US\"\n },\n \"query_string\":{\n \"limit\":1\n }\n },\n {\n \"name\":\"TEST: Add a new user\",\n \"verb\":\"POST\",\n \"endpoint\":\"api/v1/users\",\n \"host\":\"http://localhost:8085/\",\n \"payload\":{\n \"username\":\"pyhttptest\",\n \"email\":\"admin@pyhttptest.com\"\n }\n },\n {\n \"name\":\"TEST: Modify an existing user\",\n \"verb\":\"PUT\",\n \"endpoint\":\"api/v1/users/XeEsscGqweEttXsgY\",\n \"host\":\"http://localhost:8085/\",\n \"payload\":{\n \"username\":\"pyhttptest\"\n }\n },\n {\n \"name\":\"TEST: Delete an existing user\",\n \"verb\":\"DELETE\",\n \"endpoint\":\"api/v1/users/XeEsscGqweEttXsgY\",\n \"host\":\"http://localhost:8085/\"\n }\n ]\n\nExecute a test case:\n\n.. code-block:: bash\n\n $ pyhttptest execute FILE_PATH/requests.json\n\nResult:\n\n.. image:: https://www.dropbox.com/s/cd0g07dop4j1riq/pyhttptest-cli-table-of-results.png?raw=1\n :alt: pyhttptest in the command line\n :width: 100%\n :align: center\n\nDependencies\n******************************************\n\nUnder the hood, pyhttptest uses these amazing libraries:\n\n* `ijson `_\n \u2014 Iterative JSON parser with a standard Python iterator interface\n* `jsonschema `_\n \u2014 An implementation of JSON Schema validation for Python\n* `Requests `_\n \u2014 Python HTTP library for humans\n* `tabulate `_\n \u2014 Pretty-print tabular data\n* `click `_\n \u2014 Composable command line interface toolkit\n\n\nContributing\n******************************************\n\nSee `CONTRIBUTING `_.\n\n\nChangelog\n******************************************\n\nSee `CHANGELOG `_.\n\n\nLicence\n******************************************\n\nBSD-3-Clause: `LICENSE `_.\n\n\nAuthors\n******************************************\n\n`Iliyan Slavov`_\n\n.. _Iliyan Slavov: https://www.linkedin.com/in/iliyan-slavov-03478a157/\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/slaily/pyhttptest",
"keywords": "HTTP test RESTFul API JSON",
"license": "BSD 3-Clause License",
"maintainer": "",
"maintainer_email": "",
"name": "pyhttptest",
"package_url": "https://pypi.org/project/pyhttptest/",
"platform": "",
"project_url": "https://pypi.org/project/pyhttptest/",
"project_urls": {
"Homepage": "https://github.com/slaily/pyhttptest",
"Issues": "https://github.com/slaily/pyhttptest/issues"
},
"release_url": "https://pypi.org/project/pyhttptest/0.7/",
"requires_dist": [
"click (==7.0)",
"ijson (==3.0.3)",
"jsonschema (==3.1.1)",
"requests (==2.22.0)",
"tabulate (==0.8.5)"
],
"requires_python": ">=3",
"summary": "A command-line tool for HTTP tests over RESTful APIs",
"version": "0.7",
"yanked": false,
"yanked_reason": null
},
"last_serial": 8392470,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "8b445ecb71757dc056467e5d74f5e003",
"sha256": "048e7be7a2ce8cd8f4b2307a3c9e533120e9c7bf918149c49a681ef674178e86"
},
"downloads": -1,
"filename": "pyhttptest-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b445ecb71757dc056467e5d74f5e003",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 14461,
"upload_time": "2019-11-19T07:38:37",
"upload_time_iso_8601": "2019-11-19T07:38:37.955152Z",
"url": "https://files.pythonhosted.org/packages/9f/ab/ee1a564c21bf2bcac4b38b45a30cf0b0f7680f462cb895424c0e9fb23474/pyhttptest-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "6c66a154402908eb447a327e8a6c3dcc",
"sha256": "9db9455861179a49d81ce49c3eb5076ddc3d3fa97005a0fa55b454081a006b4c"
},
"downloads": -1,
"filename": "pyhttptest-0.1.tar.gz",
"has_sig": false,
"md5_digest": "6c66a154402908eb447a327e8a6c3dcc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 10157,
"upload_time": "2019-11-19T07:38:42",
"upload_time_iso_8601": "2019-11-19T07:38:42.206323Z",
"url": "https://files.pythonhosted.org/packages/19/ce/7fef4cf6e6476a0416525b7e425448e81fc6c2814c2d6971269aecc0c7e2/pyhttptest-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1a0": [
{
"comment_text": "",
"digests": {
"md5": "6aab3959c7ba043b9ef01461bc0568b1",
"sha256": "853b49c27bdf8d7d647d6ef791d66b2f5c73248fcbd49d71c9a7619e33f69c44"
},
"downloads": -1,
"filename": "pyhttptest-0.1a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6aab3959c7ba043b9ef01461bc0568b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 12487,
"upload_time": "2019-10-22T10:54:45",
"upload_time_iso_8601": "2019-10-22T10:54:45.150792Z",
"url": "https://files.pythonhosted.org/packages/17/5e/620fa7b393a63ef7bab7a6834f321ade8709e0b8f02469c3932cdf814fae/pyhttptest-0.1a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "b6493e0de005c6a9bbb1eb61466b22f7",
"sha256": "6469b3835263663c066ea7d3b42dab1977337d5d44a4da25229068cd2cb33211"
},
"downloads": -1,
"filename": "pyhttptest-0.1a0.tar.gz",
"has_sig": false,
"md5_digest": "b6493e0de005c6a9bbb1eb61466b22f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 9357,
"upload_time": "2019-10-22T10:54:52",
"upload_time_iso_8601": "2019-10-22T10:54:52.926957Z",
"url": "https://files.pythonhosted.org/packages/96/89/1f2f38ac988b73e86ac1a13e2a2044c832e76adbf520acdae2cc02adc2af/pyhttptest-0.1a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.1b0": [
{
"comment_text": "",
"digests": {
"md5": "dfea23744367b5e6d3da9e5c2969bf42",
"sha256": "2090a14686e0e69fd8edbaaace0855450d2729cbdceb5c35addf0654b23fb4e5"
},
"downloads": -1,
"filename": "pyhttptest-0.1b0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dfea23744367b5e6d3da9e5c2969bf42",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 13480,
"upload_time": "2019-10-28T12:11:11",
"upload_time_iso_8601": "2019-10-28T12:11:11.606819Z",
"url": "https://files.pythonhosted.org/packages/24/9d/50a3b7d2d8ed8359f8c2198b2f9e543322371f779d8d838992da2b8f9713/pyhttptest-0.1b0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "bd718d99233386d0d5722eab13f867e3",
"sha256": "21e00ad5456048995932790809712cc4541fa370cb4ef4a365ce36b60d2cf377"
},
"downloads": -1,
"filename": "pyhttptest-0.1b0.tar.gz",
"has_sig": false,
"md5_digest": "bd718d99233386d0d5722eab13f867e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 9893,
"upload_time": "2019-10-28T12:11:14",
"upload_time_iso_8601": "2019-10-28T12:11:14.676152Z",
"url": "https://files.pythonhosted.org/packages/d2/04/422d9583d98b39f1fcab84679cc643badc17cda780831387a5ad19eaecbc/pyhttptest-0.1b0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "51c1c4c7ea60bb4520f1cbfb5043aa85",
"sha256": "7a5572b219e4ebf73e0bb2babb1fa14ac1797c8d65230833383d520fa245f8ea"
},
"downloads": -1,
"filename": "pyhttptest-0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "51c1c4c7ea60bb4520f1cbfb5043aa85",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15517,
"upload_time": "2019-12-10T19:03:22",
"upload_time_iso_8601": "2019-12-10T19:03:22.698784Z",
"url": "https://files.pythonhosted.org/packages/66/33/c8a7a023ad97e099f366414aaa3df1a02fdfa7c38fdbc5c9b939512bf2a8/pyhttptest-0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0b920bdc663c2c6aa2ca476983ee3bd1",
"sha256": "0f53d5efe73aaeb2e20dd84aa064093bce0a84054dd20a8e008fd2d659e7faaa"
},
"downloads": -1,
"filename": "pyhttptest-0.2.tar.gz",
"has_sig": false,
"md5_digest": "0b920bdc663c2c6aa2ca476983ee3bd1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11316,
"upload_time": "2019-12-10T19:03:27",
"upload_time_iso_8601": "2019-12-10T19:03:27.938345Z",
"url": "https://files.pythonhosted.org/packages/ba/9e/d8c1abf4285a2482bc985c97f6ee6597d4205594c37bb1064561e79d094b/pyhttptest-0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "a620b9e5cb6a387fc441bffa39a182fa",
"sha256": "dc17f0e7fa633e32053b1dd748da46996d975988e3a8c1d6176bb74864b2834b"
},
"downloads": -1,
"filename": "pyhttptest-0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a620b9e5cb6a387fc441bffa39a182fa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15518,
"upload_time": "2019-12-24T14:21:24",
"upload_time_iso_8601": "2019-12-24T14:21:24.268628Z",
"url": "https://files.pythonhosted.org/packages/ba/10/e4afb66e0ac146211287e287bdc2c530187d99df27ce97194031ab8f1870/pyhttptest-0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "05a62b551472e95e57742d5248c91758",
"sha256": "27d1dd6f2cc1b1b4553f88803e2316b1a76ba30a89adcf8e46ab425447b7a0d6"
},
"downloads": -1,
"filename": "pyhttptest-0.3.tar.gz",
"has_sig": false,
"md5_digest": "05a62b551472e95e57742d5248c91758",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11217,
"upload_time": "2019-12-24T14:21:26",
"upload_time_iso_8601": "2019-12-24T14:21:26.450771Z",
"url": "https://files.pythonhosted.org/packages/fe/26/a6770ac1b7521009542a015acecf2c581ee8e4c9a3cdd4f709970954e992/pyhttptest-0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "b2595e2efc27e81d1946832aa4327e21",
"sha256": "b44fa13de50e3c95cb5d455c741061fb19e35d6d338930d844b98cf13afbeedb"
},
"downloads": -1,
"filename": "pyhttptest-0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2595e2efc27e81d1946832aa4327e21",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15635,
"upload_time": "2020-01-23T18:52:59",
"upload_time_iso_8601": "2020-01-23T18:52:59.891730Z",
"url": "https://files.pythonhosted.org/packages/94/34/41123da82bea2e818856193affaa199486fe334323c9d2b0a1ebd18c3904/pyhttptest-0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "f844655fc544f8c256304c42212fbbe4",
"sha256": "de3ab2d3421a1487724bfa5930c4256ad10cd4fd4548c928a2c6a28a372e9c88"
},
"downloads": -1,
"filename": "pyhttptest-0.4.tar.gz",
"has_sig": false,
"md5_digest": "f844655fc544f8c256304c42212fbbe4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11327,
"upload_time": "2020-01-23T18:53:02",
"upload_time_iso_8601": "2020-01-23T18:53:02.734785Z",
"url": "https://files.pythonhosted.org/packages/0c/0c/3ef3743b6b00e34c12f1aa69cd738f00394cc312da51e7dbc357befc2d62/pyhttptest-0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "e536b80758539e0e49b042c97b1aaffc",
"sha256": "c0c2080c37862ddceb27c0fad752e803cbbdac0e89f1ddad4aad6780700fdefd"
},
"downloads": -1,
"filename": "pyhttptest-0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e536b80758539e0e49b042c97b1aaffc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15603,
"upload_time": "2020-03-19T19:21:19",
"upload_time_iso_8601": "2020-03-19T19:21:19.868205Z",
"url": "https://files.pythonhosted.org/packages/ad/03/6adc150a001d534a485786c8a3eb6ea600f710793a2b704067b00e26cdfd/pyhttptest-0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "4ecb07e38ce6d8f30b6c295366129c86",
"sha256": "52090752447d5569ea303ee0d74095e7c92c81329a89273f6d42622553f8d010"
},
"downloads": -1,
"filename": "pyhttptest-0.5.tar.gz",
"has_sig": false,
"md5_digest": "4ecb07e38ce6d8f30b6c295366129c86",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11390,
"upload_time": "2020-03-19T19:21:21",
"upload_time_iso_8601": "2020-03-19T19:21:21.387384Z",
"url": "https://files.pythonhosted.org/packages/14/53/b03bf7a36a804431e53800292bbfab673c4aa7cc7d848e7c659b961a65dc/pyhttptest-0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "ccfee4a98df34dd8499bf5d78bcfbfa1",
"sha256": "7b5cf8704afd96063f51d043faea7f9cee975f722923ff56f01967abccbe67e2"
},
"downloads": -1,
"filename": "pyhttptest-0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ccfee4a98df34dd8499bf5d78bcfbfa1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15747,
"upload_time": "2020-10-12T08:03:22",
"upload_time_iso_8601": "2020-10-12T08:03:22.415503Z",
"url": "https://files.pythonhosted.org/packages/76/22/500a7c9bbb86d56affc90a9a54ff094a53de4907b33f98d135e86a1f71c6/pyhttptest-0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "34e2c226e0637cdc247a7d940390ffdf",
"sha256": "f32edcdd721cd70ca3fb499caf74e47241693f872d22b9bcfaaf7470522ac1e0"
},
"downloads": -1,
"filename": "pyhttptest-0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34e2c226e0637cdc247a7d940390ffdf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15746,
"upload_time": "2020-10-12T09:30:00",
"upload_time_iso_8601": "2020-10-12T09:30:00.199102Z",
"url": "https://files.pythonhosted.org/packages/94/55/6ff5d9caf27eb2a4a7d3924c0140fc85829c7c65e439719e07abb60dfc56/pyhttptest-0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "adbf16445c89063f71369247dbb1ea87",
"sha256": "ae8620241d872cffd4c99c7ce4bfea65c1ad529eb3addf591b696c082fa997d5"
},
"downloads": -1,
"filename": "pyhttptest-0.7.tar.gz",
"has_sig": false,
"md5_digest": "adbf16445c89063f71369247dbb1ea87",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11577,
"upload_time": "2020-10-12T09:30:01",
"upload_time_iso_8601": "2020-10-12T09:30:01.795596Z",
"url": "https://files.pythonhosted.org/packages/2a/55/c0bdc4e1dd20c76834ea21c00b4a1503e03f02e5b55a1f5b4041a9085c2e/pyhttptest-0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "34e2c226e0637cdc247a7d940390ffdf",
"sha256": "f32edcdd721cd70ca3fb499caf74e47241693f872d22b9bcfaaf7470522ac1e0"
},
"downloads": -1,
"filename": "pyhttptest-0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34e2c226e0637cdc247a7d940390ffdf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 15746,
"upload_time": "2020-10-12T09:30:00",
"upload_time_iso_8601": "2020-10-12T09:30:00.199102Z",
"url": "https://files.pythonhosted.org/packages/94/55/6ff5d9caf27eb2a4a7d3924c0140fc85829c7c65e439719e07abb60dfc56/pyhttptest-0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "adbf16445c89063f71369247dbb1ea87",
"sha256": "ae8620241d872cffd4c99c7ce4bfea65c1ad529eb3addf591b696c082fa997d5"
},
"downloads": -1,
"filename": "pyhttptest-0.7.tar.gz",
"has_sig": false,
"md5_digest": "adbf16445c89063f71369247dbb1ea87",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 11577,
"upload_time": "2020-10-12T09:30:01",
"upload_time_iso_8601": "2020-10-12T09:30:01.795596Z",
"url": "https://files.pythonhosted.org/packages/2a/55/c0bdc4e1dd20c76834ea21c00b4a1503e03f02e5b55a1f5b4041a9085c2e/pyhttptest-0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"vulnerabilities": []
}