{ "info": { "author": "TNK Studio", "author_email": "741424975@qq.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Rimuru\n[![Build Status](https://travis-ci.org/TNK-Studio/Rimuru.svg?branch=master)](https://travis-ci.org/TNK-Studio/Rimuru)\n[![codecov](https://codecov.io/gh/elfgzp/Rimuru/branch/master/graph/badge.svg)](https://codecov.io/gh/elfgzp/Rimuru)\n\n\ud83d\udcd6\u7528\u5355\u5143\u6d4b\u8bd5\u81ea\u52a8\u751f\u6210\u63a5\u53e3\u6587\u6863\n\n## \u5df2\u9002\u914d\u7684\u5ba2\u6237\u7aef\n\n- [x] requests \n- [x] django.test.client\n- [ ] flask.testing.FlaskClient\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n### \u7528requests\u6a21\u5757\u8fdb\u884c\u6d4b\u8bd5\n\n```python\nimport unittest\nimport requests as requests_module\nfrom rimuru.core import doc_client, APIDocument\n\nclass APITestCase(unittest.TestCase):\n def setUp(self):\n self.api_document = APIDocument()\n\t\tself.client = doc_client(self.api_document, requests_module)\n\n def test_api(self):\n url = 'http://127.0.0.1:5000/api/books'\n method = 'GET'\n name = '\u4e66\u5217\u8868\u63a5\u53e3'\n\n self.api_document.set_api_name(method=method, url=url, name=name)\n response = self.client.get(url)\n \"\"\"\n \u4f60\u7684\u6d4b\u8bd5\u903b\u8f91\n\t self.assertEqual(response.status_code, 200)\n\t \t...\n \"\"\"\n self.client.get(\n url, params={'name': 'A'},\n headers={'TEST_HEADER': 'test'},\n requires={'name': False},\n add_response=False\n )\n\n url = 'http://127.0.0.1:5000/api/books/'\n method = 'GET'\n name = '\u4e66\u8be6\u60c5\u63a5\u53e3'\n self.api_document.set_api_name(method=method, url=url, name=name)\n self.client.get('http://127.0.0.1:5000/api/books/2')\n response = self.client.get('http://127.0.0.1:5000/api/books/4')\n self.assertEqual(response.status_code, 404)\n\n self.api_document.save(file_path='tests/')\n```\n\n### \u7528django.test.client\u6a21\u5757\u8fdb\u884c\u6d4b\u8bd5\n```python\nimport django.test import TestCase\n\nclass APITestCase(unittest.TestCase):\n def setUp(self):\n self.api_document = APIDocument()\n\t\tself.client = doc_client(self.api_document, self.client)\n\n def test_api(self):\n url = 'http://127.0.0.1:5000/api/books'\n method = 'GET'\n name = '\u4e66\u5217\u8868\u63a5\u53e3'\n\n self.api_document.set_api_name(method=method, url=url, name=name)\n response = self.client.get(url)\n \"\"\"\n \u4f60\u7684\u6d4b\u8bd5\u903b\u8f91\n\t self.assertEqual(response.status_code, 200)\n\t \t...\n \"\"\"\n self.client.get(\n url, data={'name': 'A'},\n requires={'name': False},\n add_response=False,\n **{'HTTP_TEST_HEADER': 'test'}\n )\n\n url = 'http://127.0.0.1:5000/api/books/'\n method = 'GET'\n name = '\u4e66\u8be6\u60c5\u63a5\u53e3'\n self.api_document.set_api_name(method=method, url=url, name=name)\n self.client.get('http://127.0.0.1:5000/api/books/2')\n response = self.client.get('http://127.0.0.1:5000/api/books/4')\n self.assertEqual(response.status_code, 404)\n\n self.api_document.save(file_path='tests/')\n```\n### \u751f\u6210\u6587\u6863\n#### \u4e66\u7c4d\u5217\u8868\u63a5\u53e3.md\n\n```markdown\n## \u4e66\u5217\u8868\u63a5\u53e3\n\n### \u8bf7\u6c42\u5730\u5740\n\n`GET` `http://127.0.0.1:5000/api/books`\n\n### \u8bf7\u6c42\u5934\n\n| \u53c2\u6570\u540d | \u5fc5\u586b | \u53c2\u8003\u503c |\n| ------- | ---- | -------------------------------- |\n|TEST_HEADER|True|test|\n\n### \u8bf7\u6c42\u53c2\u6570\n\n| \u53c2\u6570\u540d | \u7c7b\u578b | \u5fc5\u586b | \u63cf\u8ff0 | \u9ed8\u8ba4\u503c | \u53c2\u8003\u503c |\n| -------- | ------ | ---- | ---- | ------ | ------ |\n|name|String|False|||A|\n\n### \u8fd4\u56de\u6b63\u786e\n\n\u72b6\u6001\u7801 `200`\n\u200b```json\n[\n {\n \"id\": 1,\n \"name\": \"A\"\n },\n {\n \"id\": 2,\n \"name\": \"B\"\n },\n {\n \"id\": 3,\n \"name\": \"C\"\n }\n]\n\u200b```\n```\n\n#### \u4e66\u8be6\u60c5\u63a5\u53e3.md\n```markdown\n## \u4e66\u8be6\u60c5\u63a5\u53e3\n\n### \u8bf7\u6c42\u5730\u5740\n\n`GET` `http://127.0.0.1:5000/api/books/`\n\n### \u8fd4\u56de\u6b63\u786e\n\n\u72b6\u6001\u7801 `200`\n\n\u200b```json\n{\n \"id\": 2,\n \"name\": \"B\"\n}\n\u200b```\n### \u8fd4\u56de\u9519\u8bef\n\n\u72b6\u6001\u7801 `404`\n\n\u200b```json\n{\n \"msg\": \"Not Found\"\n}\n\u200b```\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TNK-Studio/Rimuru", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rimuru", "package_url": "https://pypi.org/project/rimuru/", "platform": "", "project_url": "https://pypi.org/project/rimuru/", "project_urls": { "Homepage": "https://github.com/TNK-Studio/Rimuru" }, "release_url": "https://pypi.org/project/rimuru/0.0.12/", "requires_dist": [ "jinja2", "werkzeug" ], "requires_python": "", "summary": "\ud83d\udcd6Use TestCase auto generate API document.", "version": "0.0.12" }, "last_serial": 4607310, "releases": { "0.0.12": [ { "comment_text": "", "digests": { "md5": "b5905544874e996c084f1018f1c7bed7", "sha256": "28338c1c2fecf494ba960c6dce2f3488cb3f31b203b63635f56280988ecffd63" }, "downloads": -1, "filename": "rimuru-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b5905544874e996c084f1018f1c7bed7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13471, "upload_time": "2018-12-17T09:54:01", "url": "https://files.pythonhosted.org/packages/89/9f/bc39968268074d33ddd9383b2dff5860f88d794e2f6a24e781fcf054063a/rimuru-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afe3c36c5c27c47a260cdcdf83c7cb5f", "sha256": "664a2c6dc61544aa67949892a551ef07d3578348c75292a3b22cfdea74c2601e" }, "downloads": -1, "filename": "rimuru-0.0.12.tar.gz", "has_sig": false, "md5_digest": "afe3c36c5c27c47a260cdcdf83c7cb5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7743, "upload_time": "2018-12-17T09:54:03", "url": "https://files.pythonhosted.org/packages/b5/51/20548f01f1bab2413979d81693408b850c73345c0e973a381eb878ac1293/rimuru-0.0.12.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5905544874e996c084f1018f1c7bed7", "sha256": "28338c1c2fecf494ba960c6dce2f3488cb3f31b203b63635f56280988ecffd63" }, "downloads": -1, "filename": "rimuru-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b5905544874e996c084f1018f1c7bed7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13471, "upload_time": "2018-12-17T09:54:01", "url": "https://files.pythonhosted.org/packages/89/9f/bc39968268074d33ddd9383b2dff5860f88d794e2f6a24e781fcf054063a/rimuru-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afe3c36c5c27c47a260cdcdf83c7cb5f", "sha256": "664a2c6dc61544aa67949892a551ef07d3578348c75292a3b22cfdea74c2601e" }, "downloads": -1, "filename": "rimuru-0.0.12.tar.gz", "has_sig": false, "md5_digest": "afe3c36c5c27c47a260cdcdf83c7cb5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7743, "upload_time": "2018-12-17T09:54:03", "url": "https://files.pythonhosted.org/packages/b5/51/20548f01f1bab2413979d81693408b850c73345c0e973a381eb878ac1293/rimuru-0.0.12.tar.gz" } ] }