{ "info": { "author": "Mark T. Holder and see CONTRIBUTORS.txt file", "author_email": "mtholder@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nDescription: # Open Tree integration tests\n \n This repository holds integration tests, intended to answer the\n question: \"is a new version of the web site good enough to go to\n production?\"\n \n # Installation \n Python 3.5 or higher is recommended (see note below on python2.7 prerequisites).\n \n ## For end-users:\n Using a \n [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/)\n is probably a wise move (as it is for most work-in-progress python packages).\n \n python setup.py install\n \n \n ## Tab-completion\n A bash script is included that provides pretty good tab-completion\n (including completion to finish arguments that select what test to run).\n Since there are a lot of tests, it is quite handy to be able to run a subset\n of them.\n Add:\n \n source {ABSPATH TO YOUR CLONE OF THIS REPO}/dev/completion.sh\n \n to your `.bashrc` (or equivalent) to get tab completion of options for the `test-ot-ws`\n script.\n \n ## For developers:\n One time only:\n \n virtualenv -p$(which python3) env\n source env/bin/activate\n python setup develop\n source dev/activate.sh\n \n then add:\n \n source {ABSPATH TO YOUR CLONE OF THIS REPO}/env/bin/activate\n source {ABSPATH TO YOUR CLONE OF THIS REPO}/dev/activate.sh\n \n to some script that you source whenever you want to run the tests.\n Note that the `activate.sh` sources the `completion.sh`, so you won't need to do\n that step explicitly.\n \n You may need to run\n \n pip install -r requirements.txt\n \n if the prerequisites of the package change over time.\n \n ## Python 2.7 support\n You'll need to run:\n \n pip install enum34\n \n if you are using Python 2.7\n \n # Usage\n The `test-ot-ws` script is a Python program that tests aspects of the \n [v2](https://github.com/OpenTreeOfLife/opentree/wiki/Open-Tree-of-Life-APIs) and\n [v3](https://github.com/OpenTreeOfLife/germinator/wiki/Open-Tree-of-Life-Web-APIs)\n versions of the Open Tree of Life web APIs.\n Details of the tests performed and the results are stored in a scratch directory\n at `~/.opentreeoflife/test-ot-ws`\n \n ## Services\n The top-level services of the api are `studies`, `taxonomy`, `tnrs`,\n and `tree_of_life`.\n Version 0.1.0 of the test software only supports tests of the `taxonomy` and\n `tnrs` services.\n The default behavior is to test all of the services that are supported, but \n you can specify positional arguments to limit this. \n So `test-ot-ws` runs all of the test, while `test-ot-ws tnrs` would just\n run the `tnrs` tests.\n \n ## Running a subset of tests\n The `--test=` argument can be used to select a test or a subset of tests.\n Either `--test=XYZ` or `--test=XYZ.` would cause any test that matches the\n [glob](https://en.wikipedia.org/wiki/Glob_(programming)) \n `XYZ.*` to be run.\n Note that (at least in version 0.1.0 of the testing tool), the globbing\n only works at different levels of the test hierarchies (not within a\n word).\n \n So, `test-ot-ws --test=tnrs.test_contexts.v3` would run a test of the\n `tnrs/contexts` API function in version 3 of the API, while\n `test-ot-ws --test=tnrs.test_contexts` would test that method under \n both the 2 and 3 versions of the API.\n \n ## System to test\n This is used to specify whether or not the tests run against:\n * `production` - calls methods on `https://api.opentreeoflife.org` and \n does not support any tests that write\n * `dev` - calls methods on `https://devapi.opentreeoflife.org`. When \n tests that write to databases are added to the repertoire, then\n these can be tried on dev (an additional `--allow-write` argument\n will also be added).\n * `local` - assumes that you are running the services locally using\n the default configuration. So:\n * `taxonomy` and `tnrs` tests run against URLs that start with\n `http://localhost:7474/db/data/ext/`\n \n ## API-version\n The default is to test both `v2` and `v3` of the API, but either can \n be selected by using syntax similar to `--api-vesion=v3`.\n \n ## Actions\n This argument controls the main action taken by the invocaton.\n \n * `test` is the default. This is used to run tests and exit with a return\n code that indicates the number of problems encountered. \n * `retry-failing` runs only the subset of tests that have previously\n failed.\n * `report` describes the last run state of each test without \n re-executing any tests.\n * `curl` writes the HTTP calls made in an already executed test out\n to standard output as a curl command.\n * `scan` is rarely (if ever) needed. This is only used by developers\n to records the list of available tests for better tab-completion. This\n list is autogenerated if a `--test=` argument fails, so it should not\n be necessary to run `scan`\n \n ## --version\n reports the version of the testing tool.\n \n ## --noise=#\n Specifies the the noisyness level from 0 (silent) up to 5 (tracing of\n actions) \n \n \n ## --threads=#\n The number of threads to use when simultaneously running tests.\n The default is 8. Large choices could overload the server, so be careful.\n \n \n # History of this repo\n This code was previously in the [germinator](https://github.com/OpenTreeOfLife/germinator)\n repository with the individual tests spread out across each of\n the implementation repositories and peyotl as a prerequisite.\n The goal of this refactoring was for the test repository for integration tests\n to be standalone and easier to use.\n \n \n \nPlatform: UNKNOWN\nClassifier: Development Status :: 3 - Alpha\nClassifier: Intended Audience :: Science/Research\nClassifier: Intended Audience :: Developers\nClassifier: Natural Language :: English\nClassifier: License :: OSI Approved :: BSD License\nClassifier: Operating System :: OS Independent\nClassifier: Programming Language :: Python :: 2.7\nClassifier: Programming Language :: Python :: 3.5\nClassifier: Programming Language :: Python :: 3.6\nClassifier: Programming Language :: Python :: 3.7\nClassifier: Topic :: Scientific/Engineering :: Bio-Informatics\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/OpenTreeOfLife/test-ot-ws", "keywords": "", "license": "Copyright (c) 2018, the authors (see file CONTRIBUTORS)", "maintainer": "", "maintainer_email": "", "name": "test-ot-ws", "package_url": "https://pypi.org/project/test-ot-ws/", "platform": "", "project_url": "https://pypi.org/project/test-ot-ws/", "project_urls": { "Homepage": "https://github.com/OpenTreeOfLife/test-ot-ws" }, "release_url": "https://pypi.org/project/test-ot-ws/0.2.0/", "requires_dist": [ "requests (>=2.19.1)", "jsonschema (>=2.6.0)" ], "requires_python": "", "summary": "Library for testing whether or not the Open Tree of Life web services are functioning correctly", "version": "0.2.0" }, "last_serial": 4145816, "releases": { "0.1.7": [ { "comment_text": "", "digests": { "md5": "3eabe91e23c70c0db33d742eac606dc5", "sha256": "b0a0e9e45be99006f72989e72e27dac0dca0d9e5b06573b7c96d2b952bb36e99" }, "downloads": -1, "filename": "test_ot_ws-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3eabe91e23c70c0db33d742eac606dc5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25598, "upload_time": "2018-07-08T20:16:10", "url": "https://files.pythonhosted.org/packages/21/ab/c77b753e0ce605479090c61d703a4c3cea7382ce43663e17b6df29182ca0/test_ot_ws-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98c2c006358d04eb4587238269c654e3", "sha256": "18f96de786644b0bc064b590e360300f69427a273784f2fdea2ea97405e2f9c8" }, "downloads": -1, "filename": "test-ot-ws-0.1.7.tar.gz", "has_sig": false, "md5_digest": "98c2c006358d04eb4587238269c654e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18431, "upload_time": "2018-07-08T20:16:11", "url": "https://files.pythonhosted.org/packages/e4/5d/b58de41182d548afb3c4709e2ccac57781330f530df68c20f5dbe388b99a/test-ot-ws-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2d5c2bd25f617b9347105bbab5d4d285", "sha256": "552907eb846d2bc4b7bc4ee3238100fb65c7a5a3d95a99093bb31be3a187bbce" }, "downloads": -1, "filename": "test_ot_ws-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d5c2bd25f617b9347105bbab5d4d285", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26441, "upload_time": "2018-08-07T20:36:15", "url": "https://files.pythonhosted.org/packages/40/d5/df4f347cf9850ae707152c8940abfde12ddc95cfcb44eb291e56b1361178/test_ot_ws-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc27ba093316584e407397b1dff475da", "sha256": "9c43adc45d277291e6fec227a4a0bf07eddf73e96eb1b966e9c7d034810690ba" }, "downloads": -1, "filename": "test-ot-ws-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bc27ba093316584e407397b1dff475da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19063, "upload_time": "2018-08-07T20:36:17", "url": "https://files.pythonhosted.org/packages/e7/e1/a95e88d2540d53ad30cecd34c038dc8780909503fbebb0acd636d50a0288/test-ot-ws-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d5c2bd25f617b9347105bbab5d4d285", "sha256": "552907eb846d2bc4b7bc4ee3238100fb65c7a5a3d95a99093bb31be3a187bbce" }, "downloads": -1, "filename": "test_ot_ws-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d5c2bd25f617b9347105bbab5d4d285", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26441, "upload_time": "2018-08-07T20:36:15", "url": "https://files.pythonhosted.org/packages/40/d5/df4f347cf9850ae707152c8940abfde12ddc95cfcb44eb291e56b1361178/test_ot_ws-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc27ba093316584e407397b1dff475da", "sha256": "9c43adc45d277291e6fec227a4a0bf07eddf73e96eb1b966e9c7d034810690ba" }, "downloads": -1, "filename": "test-ot-ws-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bc27ba093316584e407397b1dff475da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19063, "upload_time": "2018-08-07T20:36:17", "url": "https://files.pythonhosted.org/packages/e7/e1/a95e88d2540d53ad30cecd34c038dc8780909503fbebb0acd636d50a0288/test-ot-ws-0.2.0.tar.gz" } ] }