{ "info": { "author": "Kento A. Lauzon", "author_email": "kento.lauzon@ligature.ca", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Testing" ], "description": "# Anachronos\nA testing framework for testing frameworks.\n\nAnachronos is an end-to-end testing framework usable with a wide variety of applications.\nTo get started, define an `ApplicationRunner` which can be used to start your application. \nThen, write your test classes by inheriting from `anachronos.TestCase`. \n\n## How it works\nThe framework provides access to a special `Anachronos` object which is accessible both from the tested application, and from the testing suite.\nThis object effectively acts as a logger on which assertions can be run afterwards. Anachronos assertions are accessible by using the `self.assertThat` method from within a TestCase.\nBelow is a simple TestCase example taken from the Jivago framework.\n\n```python\nimport anachronos\nfrom e2e_test.runner import http\nfrom e2e_test.testing_messages import SIMPLE_GET\n\n\nclass SimpleResourceTest(anachronos.TestCase):\n\n def test_simple_get(self):\n http.get(\"/\")\n\n self.assertThat(SIMPLE_GET).is_stored()\n\n def test_post_dto(self):\n response = http.post(\"/\", json={'name': 'Paul Atreides', 'age': 17}).json()\n\n self.assertEqual('Paul Atreides', response['name'])\n\n\nif __name__ == '__main__':\n anachronos.run_tests()\n\n```\nWith the matching application logic\u00a0:\n\n```python3\nimport anachronos\nfrom e2e_test.app.components.dtos.request_dto import RequestDto\nfrom e2e_test.app.components.dtos.response_dto import ResponseDto\nfrom e2e_test.testing_messages import SIMPLE_GET\nfrom jivago.lang.annotations import Inject\nfrom jivago.wsgi.annotations import Resource\nfrom jivago.wsgi.methods import GET, POST\n\n\n@Resource(\"/\")\nclass SimpleResource(object):\n\n def __init__(self):\n self.anachronos = anachronos.get_instance()\n\n @GET\n def simple_get(self) -> str:\n self.anachronos.store(SIMPLE_GET)\n return \"OK\"\n\n @POST\n def post_body(self, request: RequestDto) -> ResponseDto:\n return ResponseDto(request.name, True)\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/keotl/anachronos", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "anachronos", "package_url": "https://pypi.org/project/anachronos/", "platform": "", "project_url": "https://pypi.org/project/anachronos/", "project_urls": { "Homepage": "https://github.com/keotl/anachronos" }, "release_url": "https://pypi.org/project/anachronos/0.0.5/", "requires_dist": null, "requires_python": "", "summary": "A testing framework for testing frameworks.", "version": "0.0.5" }, "last_serial": 5217658, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "63bdd334a275a9a3fb82ff6f8a64e3d4", "sha256": "c08b5dfc7e5bc14a970fafc4824558cdc7d0cf56b70b03ddf6d3897a8d7561c2" }, "downloads": -1, "filename": "anachronos-0.0.1.tar.gz", "has_sig": false, "md5_digest": "63bdd334a275a9a3fb82ff6f8a64e3d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10404, "upload_time": "2019-01-02T00:50:59", "url": "https://files.pythonhosted.org/packages/fd/8b/7c93a234a2d30359fa3b887a61936a938fbf25987ead8fdf1d0232991910/anachronos-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4bf85fd7a0f17f624bce22dde3b4fb83", "sha256": "d1fa98d4f294e79d624a72eb4fbf88c9076570c6927cd8379a06bb11f839d36b" }, "downloads": -1, "filename": "anachronos-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4bf85fd7a0f17f624bce22dde3b4fb83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9589, "upload_time": "2019-01-09T15:08:12", "url": "https://files.pythonhosted.org/packages/84/9f/0389c6fd086714cb26b672830922114c67dbc0e25a1a274f3e4461197697/anachronos-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1d1cdd28584b3d39a673dab19dca7a37", "sha256": "075f461749e31080ccd896634b5826d7666327790af1fe2c73d8151798728cce" }, "downloads": -1, "filename": "anachronos-0.0.3.tar.gz", "has_sig": false, "md5_digest": "1d1cdd28584b3d39a673dab19dca7a37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9613, "upload_time": "2019-01-09T15:27:59", "url": "https://files.pythonhosted.org/packages/98/63/736fdd75a1709bc67c7ba0e0cb85188bea8a5e67b68560abe3e8f037b609/anachronos-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ad8ca833b2c097d2f9cea754d3d47e82", "sha256": "b6f8520183f440dc0efdbcb3e38aea0732ba9a1ba39b477961f0251e3781ee24" }, "downloads": -1, "filename": "anachronos-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ad8ca833b2c097d2f9cea754d3d47e82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9798, "upload_time": "2019-04-22T01:57:27", "url": "https://files.pythonhosted.org/packages/69/0f/f71df51722cf3feb5f7351446eb76b4a73c564f851a43f04edd2d40637cf/anachronos-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "def0ee88d1a4684265bcda824d1aae89", "sha256": "7bfde61500cd91e52c37c7dc6f88e3ca223b81f3c0e85281c3b3cfbab7db71d2" }, "downloads": -1, "filename": "anachronos-0.0.5.tar.gz", "has_sig": false, "md5_digest": "def0ee88d1a4684265bcda824d1aae89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9976, "upload_time": "2019-05-02T14:22:55", "url": "https://files.pythonhosted.org/packages/3c/d9/6d55b86765eceb9b3f863cd64d6cdb0f4ba6872d3cc3588be362ac9ef793/anachronos-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "def0ee88d1a4684265bcda824d1aae89", "sha256": "7bfde61500cd91e52c37c7dc6f88e3ca223b81f3c0e85281c3b3cfbab7db71d2" }, "downloads": -1, "filename": "anachronos-0.0.5.tar.gz", "has_sig": false, "md5_digest": "def0ee88d1a4684265bcda824d1aae89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9976, "upload_time": "2019-05-02T14:22:55", "url": "https://files.pythonhosted.org/packages/3c/d9/6d55b86765eceb9b3f863cd64d6cdb0f4ba6872d3cc3588be362ac9ef793/anachronos-0.0.5.tar.gz" } ] }