{ "info": { "author": "JTG", "author_email": "atlas@joshtechnologygroup.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3" ], "description": "ATLAS\n=====\n\nATLAS takes your Swagger, and smartly generates the code which could be used as input to various load testing tools.\nCurrently, ATLAS fully supports [Artillery Load Runner](https://artillery.io/)\n\nATLAS stands for Automation Tool for Load Analysis and Simulation\n\n\nCreating a new Project\n======================\n- Create a virtual environment. We only support Python 3.6+.\n- Install the Atlas Project by `pip install swagger-atlas`\n- Run `atlas newproject `\n- Switch to new directory\n- Follow the README of directory to customize and run your load test\n\n\nFeatures\n========\n\n#### What ATLAS Does\n\n- Converts Swagger to Load Test file seamlessly\n- Generates fake Data for testing.\n- Understands resource dependencies and workflow -\n eg: if one API creates PET, and another API wants to use Pet ID,\n ATLAS is intelligent enough to:\n - Order the APIs so that CREATE API comes before any API which wants to use the IDs\n - Transfer the resource dependency\n - This works with arbitrarily with any complex relationships between APIs as long it is not cyclic\n- Generate beautiful graphics and statistics\n\nDo Read [Use Cases](https://github.com/swagger-atlas/atlas/blob/master/docs/use_cases.md) for use cases and best swagger practices to get the most out of ATLAS Automation systems.\n\nOne of the many graphs which would be auto-generated:\n![Grafana Dashboard Sample](https://github.com/swagger-atlas/atlas/raw/master/static/images/petstore-sample.png)\n\n---\n\n#### Authenticating APIs\nIt may be possible that you need to provide Authentication Information with APIs.\nWith ATLAS, you can provide Header Authentication by:\n\n- Editing `conf/profiles.yaml` and adding authentication key value pairs\n- In `conf/artillery/hooks.js` change `addHeaders()` function as needed.\n\n*Example*\n```yaml\n# profiles.yaml\n:\n token: abcd\n```\n\n```js\n// hooks.js\nasync function addHeaders(profile) {\n profile.auth = {\n \"headers\": {'Authorization': 'Token ' + profile.token}\n };\n return profile;\n}\n```\n\nThis header will now be added to all API Requests. We only support Header authentication for now\n\n\n#### Load Test Configuration\nYou should be able to edit load test configuration by following respective runner.\nFor Artillery see [CLI Options](https://artillery.io/docs/cli-reference/)\n\n\nConfiguring ATLAS\n=================\n\nATLAS is highly automated system, however you may want to configure it to suit your needs.\nA quick overview of most frequent configuration options:\n\n#### Manual Data Generation\nATLAS has an inbuilt AI which can generate fake data for most of requests.\nATLAS can also extract data from one API and use it in another.\n\nYou can supply your own data for some of the resources.\nSee **Mapping Resources to Database** section in [Resources](https://github.com/swagger-atlas/atlas/blob/master/docs/resources.md) for details\n\n---\n\n#### Selective API Hits\nYou may want to load test a subset of APIs only. There are several quick ways to do that\n- Exclude URLs: In settings, you can give a list of OP_KEYS for excluding URLs\n- Tag Specific: (tags are the same as those given in swagger). See [Profiles](https://github.com/swagger-atlas/atlas/blob/master/docs/profiles.md) for tagging example\n - In settings, mark ONLY_TAG_API as True\n - In `conf/profiles.yaml`, in the `tags` section, mark the tags you want to test with\n- You can generate your own scenarios. More details in Scenarios section.\n\n---\n\n#### Manipulating Requests\nATLAS allows you to manipulate request to API. You may want to do this to:\n- Change the body being sent to an API\n- Change URL being hit (eg: changing Query Params in it)\n- Change Other Parameters (eg: Headers)\n\nSee [Hooks](https://github.com/swagger-atlas/atlas/blob/master/docs/hooks.md) for details on how to do this, and various examples for same\n\n---\n\n#### API Ordering\n\nIf you wanted to over-write ATLAS AI API ordering, you can do so.\nIn `conf/conf.py`, change `SWAGGER_OPERATION_DEPENDENCIES`.\n\nThis setting is a list of 2-element tuple where it ensures that first element is always hit before second element.\nEach element represents OP_KEY of Swagger Operation.\nOP_KEY is simply \"METHOD url\" for any Swagger Operation\nOP_KEY for all swaggers can be obtained in `conf/routes.py` which is generated via `atlas generate_routes`\n\n---\n\n#### Generate Custom Scenarios\nBy default, ATLAS will hit all APIs in an order pre-determined by its AI.\nYou may wish to specify a custom workflow or scenario.\n\nATLAS Provides such ability\n- Writing custom scenario and linking it to profiles\n- Profiles can have multiple scenarios associated with them\n- If needed, can over-write default scenario\n\nSee `Creating Custom Scenario` section in [Use cases](https://github.com/swagger-atlas/atlas/blob/master/docs/uses_cases.md) for more details\n\n\nExample Project\n===============\n\n- After installing ATLAS, run `atlas example ` (To know possible examples you can run `python atlas example --help`)\n- Switch to Project, and you will steps to run Server and Load Test\n\n\nContributing to ATLAS\n=====================\n\nPlease see [Contribution Guide](CONTRIBUTING.md)\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/swagger-atlas/atlas", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "swagger-atlas", "package_url": "https://pypi.org/project/swagger-atlas/", "platform": "", "project_url": "https://pypi.org/project/swagger-atlas/", "project_urls": { "Homepage": "https://github.com/swagger-atlas/atlas" }, "release_url": "https://pypi.org/project/swagger-atlas/1.1.0/", "requires_dist": [ "six (==1.11.0)", "PyYAML (==4.2b1)", "peewee (==3.6.4)", "pymysql (==0.9.2)", "psycopg2 (==2.7.5)", "requests (==2.20.0)", "inflection (==0.3.1)", "pysed (==0.7.8)", "docker-compose (<2.0,>=1.23)" ], "requires_python": "", "summary": "Transforms your swagger docs to load testing config and run them", "version": "1.1.0" }, "last_serial": 5863376, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "9d669fa2334b04375f8dbaac6d2d601a", "sha256": "3a019cc24393ace419e5b40aa9e29cea1ab39941b415180c8180351b35a18f33" }, "downloads": -1, "filename": "swagger_atlas-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9d669fa2334b04375f8dbaac6d2d601a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 157945, "upload_time": "2019-04-11T13:06:23", "url": "https://files.pythonhosted.org/packages/e4/d4/99bc9c3f56c6ff47bd1965510e3f3899b15b228a6632fabf30a11519e077/swagger_atlas-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "108ff1cef365d08dfe7bd431ed02f68c", "sha256": "ea77b28550d66ee282ffd3b54f0159b023b6056b703f32584978decce09d52d0" }, "downloads": -1, "filename": "swagger-atlas-1.0.0.tar.gz", "has_sig": false, "md5_digest": "108ff1cef365d08dfe7bd431ed02f68c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142325, "upload_time": "2019-04-11T13:06:27", "url": "https://files.pythonhosted.org/packages/6d/0c/4ba4febc0730782b8b50d6eb59dd02ecc4627ac0e8f49016095437107729/swagger-atlas-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9675cd50dc833b8aeebda323d04b845a", "sha256": "b387bd19dd46e8eccca5989d403762f0011d8266df8d50f9aa8804a64d970945" }, "downloads": -1, "filename": "swagger_atlas-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "9675cd50dc833b8aeebda323d04b845a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6452159, "upload_time": "2019-04-12T07:19:25", "url": "https://files.pythonhosted.org/packages/b7/bd/034f9d807d5483585e12c6deaf295c7597cc2f498b8637860bfe70a5cbc2/swagger_atlas-1.0.1-py2-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "422897d3e6b751cb943ac7ee34fdfc5d", "sha256": "3520576c22c8df22d9ee056f80dd242ba0f48be78640ae6e52d4952f677a97c1" }, "downloads": -1, "filename": "swagger_atlas-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "422897d3e6b751cb943ac7ee34fdfc5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 158053, "upload_time": "2019-04-12T07:27:37", "url": "https://files.pythonhosted.org/packages/ed/a9/181d8904e7578cc6ca5b2cd96f46a917f01c9d1ff271dc54754cda486ee1/swagger_atlas-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd5d626d4d71b1f4b4c7a000f04ec38d", "sha256": "122752fea3a140c1fe000882827ce65850459772d47d4e1652fad47ca90bc264" }, "downloads": -1, "filename": "swagger-atlas-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fd5d626d4d71b1f4b4c7a000f04ec38d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142500, "upload_time": "2019-04-12T07:27:40", "url": "https://files.pythonhosted.org/packages/79/49/2795253aec7a7806de05bd7e1c969ce0821c198761c919d8a5c1e7ade641/swagger-atlas-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "88243754d008c4029c858f7f07a74b8c", "sha256": "f54cb223e8ec1316d46a4cce1b2271e45b5ec23bf9d000d85b969149a40c7391" }, "downloads": -1, "filename": "swagger_atlas-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "88243754d008c4029c858f7f07a74b8c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 158074, "upload_time": "2019-05-01T11:08:23", "url": "https://files.pythonhosted.org/packages/8d/9c/d6c2b87454f47d5201549282079e10d53d38a87726bd5099fc6e9dc87452/swagger_atlas-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea6af2995b526f21206fda1b48a0ed81", "sha256": "b0e512783e694d44b54017e5cfb509c65b07069d333eeeada301bcac5b79c292" }, "downloads": -1, "filename": "swagger-atlas-1.0.3.tar.gz", "has_sig": false, "md5_digest": "ea6af2995b526f21206fda1b48a0ed81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120472, "upload_time": "2019-05-01T11:08:27", "url": "https://files.pythonhosted.org/packages/b0/c9/c209688d48ebcf4a2aaf280c7786192f37822b297d56d59f740be287bb69/swagger-atlas-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "16be328569fc355ff8fd57f2b00ec9d9", "sha256": "de5f11dc755b645924dc4e7acc0e296dec49b8b92b68084a21159db53c914dc1" }, "downloads": -1, "filename": "swagger_atlas-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "16be328569fc355ff8fd57f2b00ec9d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 158143, "upload_time": "2019-09-20T17:32:23", "url": "https://files.pythonhosted.org/packages/19/44/6c47d766268cfdbd99950285c7d19e8e5f3ff4f4c6a6bd38f11469909e00/swagger_atlas-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d97a66e97c489d1319a28c5575fe27d", "sha256": "285997c847299cc5a722eac71e41bf2f8a76ce63bd6d6ca5f5ece7899020e980" }, "downloads": -1, "filename": "swagger-atlas-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2d97a66e97c489d1319a28c5575fe27d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123571, "upload_time": "2019-09-20T17:32:25", "url": "https://files.pythonhosted.org/packages/63/4d/957d4fd20e24e5604abd536a8892f10f2616e2bfac1ef1cca8b0c10ad60c/swagger-atlas-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "16be328569fc355ff8fd57f2b00ec9d9", "sha256": "de5f11dc755b645924dc4e7acc0e296dec49b8b92b68084a21159db53c914dc1" }, "downloads": -1, "filename": "swagger_atlas-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "16be328569fc355ff8fd57f2b00ec9d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 158143, "upload_time": "2019-09-20T17:32:23", "url": "https://files.pythonhosted.org/packages/19/44/6c47d766268cfdbd99950285c7d19e8e5f3ff4f4c6a6bd38f11469909e00/swagger_atlas-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d97a66e97c489d1319a28c5575fe27d", "sha256": "285997c847299cc5a722eac71e41bf2f8a76ce63bd6d6ca5f5ece7899020e980" }, "downloads": -1, "filename": "swagger-atlas-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2d97a66e97c489d1319a28c5575fe27d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 123571, "upload_time": "2019-09-20T17:32:25", "url": "https://files.pythonhosted.org/packages/63/4d/957d4fd20e24e5604abd536a8892f10f2616e2bfac1ef1cca8b0c10ad60c/swagger-atlas-1.1.0.tar.gz" } ] }