{ "info": { "author": "Zope Foundation and Contributors", "author_email": "zope-dev@zope.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Zope :: 3", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP" ], "description": "==================\n zope.app.testing\n==================\n\n.. image:: https://img.shields.io/pypi/v/zope.app.testing.svg\n :target: https://pypi.org/project/zope.app.testing/\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/pyversions/zope.app.testing.svg\n :target: https://pypi.org/project/zope.app.testing/\n :alt: Supported Python versions\n\n.. image:: https://travis-ci.org/zopefoundation/zope.app.testing.svg?branch=master\n :target: https://travis-ci.org/zopefoundation/zope.app.testing\n :alt: Build Status\n\n.. image:: https://coveralls.io/repos/github/zopefoundation/zope.app.testing/badge.svg\n :target: https://coveralls.io/github/zopefoundation/zope.app.testing\n :alt: Code Coverage\n\nThis package provides testing support for Zope 3 applications. Besides\nproviding numerous setup convenience functions, it implements a testing setup\nthat allows the user to make calls to the publisher allowing to write\nfunctional tests.\n\n\n.. contents::\n\n===================\n FDocTest (How-To)\n===================\n\nSteps to get started:\n\n1. Use a clean/missing Data.fs\n\n2. Create a manager with the name \"mgr\", password \"mgrpw\", and grant\n the zope.Manager role.\n\n3. Install tcpwatch.\n\n4. Create a temporary directory to record tcpwatch output.\n\n5. Run tcpwatch using:\n tcpwatch.py -L 8081:8080 -s -r tmpdir\n (the ports are the listening port and forwarded-to port; the\n second need to match the Zope configuration)\n\n6. In a browser, connect to the listening port and do whatever needs\n to be recorded.\n\n7. Shut down tcpwatch.\n\n8. Run the script src/zope/app/testing/dochttp.py:\n python2.4 src/zope/app/testing/dochttp.py tmpdir > somefile.txt\n\n9. Edit the generated text file to add explanations and elide\n uninteresting portions of the output.\n\n10. In a functional test module (usually ftests.py), import\n FunctionalDocFileSuite from zope.app.testing.functional and\n instantiate it, passing the name of the text file containing\n the test.\n\n\n==========================\n DocTest Functional Tests\n==========================\n\nThis file documents and tests doctest-based functional tests and basic\nZope web-application functionality.\n\nRequest/Response Functional Tests\n=================================\n\nYou can create Functional tests as doctests. Typically, this is done\nby using a script such as src/zope/app/testing/dochttp.py to convert\ntcpwatch recorded output to a doctest, which is then edited to provide\nexplanation and to remove uninteresting details. That is how this\nfile was created.\n\nHere we'll test some of the most basic types of access.\n\nFirst, we'll test accessing a protected page without credentials:\n\n >>> print(http(r\"\"\"\n ... GET /@@contents.html HTTP/1.1\n ... \"\"\"))\n HTTP/1.1 401 Unauthorized\n Cache-Control: no-store, no-cache, must-revalidate\n Content-Length: ...\n Content-Type: text/html;charset=utf-8\n Expires: Mon, 26 Jul 1997 05:00:00 GMT\n Pragma: no-cache\n WWW-Authenticate: basic realm=\"Zope\"\n \n >> print(http(r\"\"\"\n ... GET /@@contents.html HTTP/1.1\n ... Authorization: Basic mgr:mgrpw\n ... \"\"\"))\n HTTP/1.1 200 OK\n Content-Length: ...\n Content-Type: text/html;charset=utf-8\n \n >> print(http(r\"\"\"\n ... GET /++etc++site/@@manage HTTP/1.1\n ... Authorization: Basic mgr:mgrpw\n ... Referer: http://localhost:8081/\n ... \"\"\"))\n HTTP/1.1 303 See Other\n Content-Length: 0\n Content-Type: text/plain;charset=utf-8\n Location: @@contents.html\n \n\nNote that, in this case, we got a 303 response. A 303 response is the\nprefered response for this sort of redirect with HTTP 1.1. If we used\nHTTP 1.0, we'd get a 302 response:\n\n >>> print(http(r\"\"\"\n ... GET /++etc++site/@@manage HTTP/1.0\n ... Authorization: Basic mgr:mgrpw\n ... Referer: http://localhost:8081/\n ... \"\"\"))\n HTTP/1.0 302 Moved Temporarily\n Content-Length: 0\n Content-Type: text/plain;charset=utf-8\n Location: @@contents.html\n \n\nLets visit the page we were redirected to:\n\n >>> print(http(r\"\"\"\n ... GET /++etc++site/@@contents.html HTTP/1.1\n ... Authorization: Basic mgr:mgrpw\n ... Referer: http://localhost:8081/\n ... \"\"\"))\n HTTP/1.1 200 OK\n Content-Length: ...\n Content-Type: text/html;charset=utf-8\n \n >> print(http(r\"\"\"\n ... GET / HTTP/1.1\n ... Authorization: Basic mgr:mgrpw\n ... \"\"\"))\n HTTP/1.1 200 OK\n Content-Length: ...\n Content-Type: text/html;charset=utf-8\n \n >> root = getRootFolder()\n >>> root\n \n\nYou can intermix HTTP requests with regular Python calls. Note,\nhowever, that making an `http()` call implied a transaction commit.\nIf you want to throw away changes made in Python code, abort the\ntransaction before the HTTP request.\n\n >>> print(http(r\"\"\"\n ... POST /@@contents.html HTTP/1.1\n ... Authorization: Basic mgr:mgrpw\n ... Content-Length: 73\n ... Content-Type: application/x-www-form-urlencoded\n ...\n ... type_name=BrowserAdd__zope.site.folder.Folder&new_value=f1\"\"\",\n ... handle_errors=False))\n HTTP/1.1 303 See Other\n Content-Length: ...\n Content-Type: text/html;charset=utf-8\n Location: http://localhost/@@contents.html\n \n >> [str(x) for x in root.keys()]\n ['f1']\n\n\n=========\n CHANGES\n=========\n\n4.0.0 (2018-10-24)\n==================\n\n- Remove ``zope.app.testing.testbrowser``. It was not compatible with\n zope.testbrowser version 5.\n\n- Add basic support for Python 3.5, 3.6 and 3.7.\n\n3.10.0 (2012-01-13)\n===================\n\n- Removed test dependency on ``zope.app.authentication``.\n\n zope.testbrowser 4 depends on this change (seriously) if it find\n zope.app.testing.\n\n3.9.0 (2011-03-14)\n==================\n\n- Move zope.app.testing testbrowser functionality into zope.app.testing. This\n requires zope.testbrowser version 4.0.0 or above.\n\n3.8.1 (2011-01-07)\n==================\n\n- Include REMOTE_ADDR ('127.0.0.1') in the request environment.\n\n\n3.8.0 (2010-09-14)\n==================\n\n- Remove invalid HTTP_REFERER default. (We both don't want a default to allow\n others testing without a referer and 'localhost' is not a reasonable\n default anyway.) This improves the situation for #98437\n\n- Made the xmlrpc code compatible with Python 2.7.\n\n- Removed test dependency on ``zope.app.zptpage``.\n\n- Switched test dependency from ``zope.app.securitypolicy`` to\n ``zope.securitypolicy``.\n\n\n3.7.7 (2010-09-14)\n==================\n\n- Rereleasing 3.7.5 as 3.7.7 to fix brown bag release.\n\n\n3.7.6 (2010-09-14)\n==================\n\n- Brown bag release: It broke the tests of ``zope.testbrowser``.\n\n\n3.7.5 (2010-04-10)\n==================\n\n- Switch doctests to use the stdlib ``doctest`` module, rather than the\n deprecated ``zope.testing.doctest`` variant.\n\n\n3.7.4 (2010-01-08)\n==================\n\n- Import hooks functionality from zope.component after it was moved there from\n zope.site.\n\n- Import ISite from zope.component after it was moved there from\n zope.location. This lifts the dependency on zope.location.\n\n- Fix tests using a newer zope.publisher that requires zope.login.\n\n3.7.3 (2009-08-20)\n==================\n\n- Fixed tests for python 2.4 as well as python 2.5 and 2.6; the change in\n version 3.7.1 introduced test regressions in python 2.4.\n\n3.7.2 (2009-07-24)\n==================\n\n- Adjusted tests after the referenced memory leak problem has been fixed in\n ``zope.component``.\n\n\n3.7.1 (2009-07-21)\n==================\n\n- Fixed failing tests. The code revealed that the tests expected the wrong\n value.\n\n\n3.7.0 (2009-06-19)\n==================\n\n- Depend on new ``zope.processlifetime`` interfaces instead of using\n BBB imports from ``zope.app.appsetup``.\n\n- Removed unused dependency on ``zope.app.component``.\n\n\n3.6.2 (2009-04-26)\n==================\n\n- Removed deprecated back35 module and loose the dependency on\n ``zope.deferredimport``.\n\n- Adapt to ``zope.app.authentication`` refactoring. We depend on\n ``zope.password`` now instead.\n\n- Adapt to latest ``zope.app.security`` refactoring. We don't need this\n package anymore.\n\n3.6.1 (2009-03-12)\n==================\n\n- Use ISkinnable.providedBy(request) instead of IBrowserRequest as condition\n for calling setDefaultSkin in HTTPCaller. This at the same time removes\n dependency to the browser part of zope.publisher.\n\n- Adapt to the move of IDefaultViewName from zope.component.interfaces\n to zope.publisher.interfaces.\n\n- Remove the DEPENDENCIES.cfg file for zpkg.\n\n3.6.0 (2009-02-01)\n==================\n\n- Fix AttributeError in ``zope.app.testing.setup.setUpTestAsModule``\n (when called without name argument).\n\n- Use ``zope.container`` instead of ``zope.app.container``.\n\n- Use ``zope.site`` instead of ``zope.app.folder`` and\n ``zope.app.component`` for some parts.\n\n3.5.6 (2008-10-13)\n==================\n\n- Change argument variable name in provideAdapter to not conflict with\n buitin keyword in Python 2.6.\n\n3.5.5 (2008-10-10)\n==================\n\n- Re-configured functional test setup to create test-specific instances\n of HTTPCaller to ensure that cookies are not shared by doctests\n in a test suite.\n\n3.5.4 (2008-08-25)\n==================\n\n- Clean up some transaction management in the functional test setup.\n\n3.5.3 (2008-08-22)\n==================\n\n- Fix isolation enforcement for product configuration around individual tests.\n\n3.5.2 (2008-08-21)\n==================\n\n- Added missing dependency information in setup.py.\n\n- Added missing import.\n\n- Repair memory leak fix released in 3.4.3 to be more sane in the presence of\n generations.\n\n3.5.1 (2008-08-20)\n==================\n\n- Correct Fred's \"I'm a doofus\" release.\n\n3.5.0 (2008-08-20)\n==================\n\n- Add support for product-configuration as part of functional layers; this\n more closely mirrors the configuration order for normal operation.\n\n3.4.3 (2008-07-25)\n==================\n\n- Fix memory leak in all functional tests.\n see: https://bugs.launchpad.net/zope3/+bug/251273\n\n3.4.2 (2008-02-02)\n==================\n\n- Fix of 599 error on conflict error in request\n see: http://mail.zope.org/pipermail/zope-dev/2008-January/030844.html\n\n3.4.1 (2007-10-31)\n==================\n\n- Fixed deprecation warning for ``ZopeSecurityPolicy``.\n\n3.4.0 (2007-10-27)\n==================\n\n- Initial release independent of the main Zope tree.\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/zopefoundation/zope.app.testing", "keywords": "zope3 test testing setup functional", "license": "ZPL 2.1", "maintainer": "", "maintainer_email": "", "name": "zope.app.testing", "package_url": "https://pypi.org/project/zope.app.testing/", "platform": "", "project_url": "https://pypi.org/project/zope.app.testing/", "project_urls": { "Homepage": "https://github.com/zopefoundation/zope.app.testing" }, "release_url": "https://pypi.org/project/zope.app.testing/4.0.0/", "requires_dist": [ "setuptools", "zope.annotation", "zope.app.appsetup (>=3.11)", "zope.processlifetime", "zope.app.debug", "zope.app.dependable", "zope.app.publication", "zope.component (>=3.8)", "zope.container", "zope.i18n (>=4.3.0)", "zope.interface", "zope.password", "zope.publisher", "zope.schema", "zope.security", "zope.site", "zope.testing", "zope.traversing", "ZODB; extra == 'test'", "zope.app.zcmlfiles; extra == 'test'", "zope.login; extra == 'test'", "zope.publisher (>=3.12); extra == 'test'", "zope.securitypolicy; extra == 'test'", "zope.testrunner; extra == 'test'" ], "requires_python": "", "summary": "Zope Application Testing Support", "version": "4.0.0" }, "last_serial": 4410598, "releases": { "3.10.0": [ { "comment_text": "", "digests": { "md5": "3421adba8b038113d773f9133d70f97b", "sha256": "e49d86a33147ea0d2bd9602f40ee07dffb3deb8329913c9307bdf50f693b5fe9" }, "downloads": -1, "filename": "zope.app.testing-3.10.0.tar.gz", "has_sig": false, "md5_digest": "3421adba8b038113d773f9133d70f97b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36559, "upload_time": "2012-01-14T00:19:41", "url": "https://files.pythonhosted.org/packages/b7/72/f62c1c79d691260235f1ebe48f954d2fdffc253bcb14623550e242a366dd/zope.app.testing-3.10.0.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "f75da31ff94caf98317bfc5007c991fe", "sha256": "95c8396cb14973840e89eab8e11496f33a74b7e069be23af230ef387518c9236" }, "downloads": -1, "filename": "zope.app.testing-3.4.0.tar.gz", "has_sig": false, "md5_digest": "f75da31ff94caf98317bfc5007c991fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23990, "upload_time": "2007-10-28T03:04:46", "url": "https://files.pythonhosted.org/packages/04/64/77050b41930da1ffd472892eff20550e495dcbed8ab615f387dac5c35cd4/zope.app.testing-3.4.0.tar.gz" } ], "3.4.0a1": [ { "comment_text": "", "digests": { "md5": "685fa9d1a505ff985484b881e076e2f3", "sha256": "70dd9e5687d301ae0a6705a05023d1603b7551aa0b910d91db14768276da1be6" }, "downloads": -1, "filename": "zope.app.testing-3.4.0a1.tar.gz", "has_sig": false, "md5_digest": "685fa9d1a505ff985484b881e076e2f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21102, "upload_time": "2007-04-23T13:32:48", "url": "https://files.pythonhosted.org/packages/62/aa/4ffb1cb85073ec81fd6585b76f03e17b8e5608da9cf5ec3a8773a1fc12b6/zope.app.testing-3.4.0a1.tar.gz" } ], "3.4.1": [ { "comment_text": "", "digests": { "md5": "6d21977436693fd35e9b8c02bd9e7565", "sha256": "a5043f3eb32aa08a8f2512d435dfde61c25f0918ae62d71c12dc3dabd51490d5" }, "downloads": -1, "filename": "zope.app.testing-3.4.1.tar.gz", "has_sig": false, "md5_digest": "6d21977436693fd35e9b8c02bd9e7565", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24123, "upload_time": "2007-10-31T16:27:46", "url": "https://files.pythonhosted.org/packages/85/be/29b3e184fd9a6ab3bdb3252ab5f3132d5548be04cbddb62760e9baadf85c/zope.app.testing-3.4.1.tar.gz" } ], "3.4.2": [ { "comment_text": "", "digests": { "md5": "1629e2cdc57994280bd4636cdebd6632", "sha256": "0aef5e8b111b7ffb5cacc4c513d5e057e4cb198c75366043d59759e9c77630d5" }, "downloads": -1, "filename": "zope.app.testing-3.4.2.tar.gz", "has_sig": false, "md5_digest": "1629e2cdc57994280bd4636cdebd6632", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24652, "upload_time": "2008-02-02T11:43:16", "url": "https://files.pythonhosted.org/packages/5b/4c/e37d58077115f7ed8c63f65ef9bc121eca9dbf8262a27badd632353e9cd6/zope.app.testing-3.4.2.tar.gz" } ], "3.4.3": [ { "comment_text": "", "digests": { "md5": "0a7bb9cacc125beec67523eb313707c0", "sha256": "6bf991df88ff20a684a31ab1c0094361d5c9f9f8f54ab4f2226a9b2d98700106" }, "downloads": -1, "filename": "zope.app.testing-3.4.3.tar.gz", "has_sig": false, "md5_digest": "0a7bb9cacc125beec67523eb313707c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26370, "upload_time": "2008-07-25T17:25:31", "url": "https://files.pythonhosted.org/packages/11/6a/8456c80591d6963fa7f3efb4814ef4d7730f939fddf7a301150394b4525e/zope.app.testing-3.4.3.tar.gz" } ], "3.4.4": [ { "comment_text": "", "digests": { "md5": "70f433e3c60b8b0111cbce2424d1cd6d", "sha256": "72748ee7a00856f0e8c7648e25e11aecc9a02486f9ff486585bce232f2027e02" }, "downloads": -1, "filename": "zope.app.testing-3.4.4.tar.gz", "has_sig": false, "md5_digest": "70f433e3c60b8b0111cbce2424d1cd6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27086, "upload_time": "2008-08-21T21:02:49", "url": "https://files.pythonhosted.org/packages/de/0e/6957cbde3b52a76051c401f0cf9080b220a34533ad5cbe67d124557fd77b/zope.app.testing-3.4.4.tar.gz" } ], "3.4.5": [ { "comment_text": "", "digests": { "md5": "5e8936245815f3946ef20e643a9c2491", "sha256": "dd18e8eaaf06dfd49d59b9c02a695befbb9bbe736f69c0278e4ebefb6091201c" }, "downloads": -1, "filename": "zope.app.testing-3.4.5.tar.gz", "has_sig": false, "md5_digest": "5e8936245815f3946ef20e643a9c2491", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27578, "upload_time": "2010-03-26T18:04:12", "url": "https://files.pythonhosted.org/packages/7d/b9/5e354ecaa1a049a9980adf0014a4f249be6f8c65882af8db68e75fa229dd/zope.app.testing-3.4.5.tar.gz" } ], "3.5.1": [ { "comment_text": "", "digests": { "md5": "57706021ce27e32f20d012c172e9d26c", "sha256": "504a2a257e992d041344d813728bb1019bbf7fa4450e94bde877f1f636f81f32" }, "downloads": -1, "filename": "zope.app.testing-3.5.1.tar.gz", "has_sig": false, "md5_digest": "57706021ce27e32f20d012c172e9d26c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28183, "upload_time": "2008-08-20T21:29:54", "url": "https://files.pythonhosted.org/packages/4f/97/710d245a515217b101c8e5dc45734d028a78beb2d286c203de83bc89e16b/zope.app.testing-3.5.1.tar.gz" } ], "3.5.1dev": [ { "comment_text": "", "digests": { "md5": "d851260e637982b67159b0325a59042e", "sha256": "b4e19dfb1c9c3a41196980c791e43feb5e85e7a2d927883cd2eb5adfba366883" }, "downloads": -1, "filename": "zope.app.testing-3.5.1dev.tar.gz", "has_sig": false, "md5_digest": "d851260e637982b67159b0325a59042e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28114, "upload_time": "2008-08-20T17:17:38", "url": "https://files.pythonhosted.org/packages/a4/86/84c9c4028cf8201a343d98cbd2b295eaa4391ea85cd3d998ad534f5290dd/zope.app.testing-3.5.1dev.tar.gz" } ], "3.5.2": [ { "comment_text": "", "digests": { "md5": "3ceed538a5d6af3365ac696d66207dde", "sha256": "53f0c834c6b61ab6273073dce24065d75da6e9c79bb4f982316ad5f527e5e8e1" }, "downloads": -1, "filename": "zope.app.testing-3.5.2.tar.gz", "has_sig": false, "md5_digest": "3ceed538a5d6af3365ac696d66207dde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28805, "upload_time": "2008-08-21T21:37:49", "url": "https://files.pythonhosted.org/packages/6e/0a/bd3be13a9bb5f97f3276a888914eb10d95656c4884b07a71c4ba3747b6de/zope.app.testing-3.5.2.tar.gz" } ], "3.5.3": [ { "comment_text": "", "digests": { "md5": "c037adf29645caaf68211d4d14f9a862", "sha256": "306440a2bc68d19f350816495f62f83cee8b28904809820e03469ca08e070f59" }, "downloads": -1, "filename": "zope.app.testing-3.5.3.tar.gz", "has_sig": false, "md5_digest": "c037adf29645caaf68211d4d14f9a862", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29035, "upload_time": "2008-08-22T13:45:05", "url": "https://files.pythonhosted.org/packages/43/5e/2677b8aa953325fd181723532302cbf88efceaafeb8c71ef5383ad41b13b/zope.app.testing-3.5.3.tar.gz" } ], "3.5.4": [ { "comment_text": "", "digests": { "md5": "e4729b7def26eb540f8976cfc30f1d59", "sha256": "b4d562a6440cd2db7edc87fa09e8844e87467e346199a32471ea6a828b4c6eae" }, "downloads": -1, "filename": "zope.app.testing-3.5.4.tar.gz", "has_sig": false, "md5_digest": "e4729b7def26eb540f8976cfc30f1d59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29143, "upload_time": "2008-08-25T14:21:53", "url": "https://files.pythonhosted.org/packages/0e/6a/0fa9f414944576953b00ddd0708149ca2825ef0185fc6d87c7f50eb47565/zope.app.testing-3.5.4.tar.gz" } ], "3.5.5": [ { "comment_text": "", "digests": { "md5": "1690891199cd93afce4ce338b8bee5c7", "sha256": "ebdcbb73a1f4bb32df161cd7fa1bfdd7ee92c468b60eee83e6de81455e9065b2" }, "downloads": -1, "filename": "zope.app.testing-3.5.5.tar.gz", "has_sig": false, "md5_digest": "1690891199cd93afce4ce338b8bee5c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30251, "upload_time": "2008-10-10T21:03:44", "url": "https://files.pythonhosted.org/packages/57/22/2bd149c65d23a2bc3c9533e32ac9d63c879da67a9577951f8852037e09b7/zope.app.testing-3.5.5.tar.gz" } ], "3.5.6": [ { "comment_text": "", "digests": { "md5": "8ec2db073b6356bba09da6664457b766", "sha256": "333c0e0352cbf5ba2d59b469a2ad65246fb5e2c4b730ef84c735c9c5cba0c421" }, "downloads": -1, "filename": "zope.app.testing-3.5.6.tar.gz", "has_sig": false, "md5_digest": "8ec2db073b6356bba09da6664457b766", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31672, "upload_time": "2008-10-13T18:01:32", "url": "https://files.pythonhosted.org/packages/fa/e2/e07fd894d2ba9fdbeef12b931069c959f7772027d69daf8f37bf9973cf68/zope.app.testing-3.5.6.tar.gz" } ], "3.6.0": [ { "comment_text": "", "digests": { "md5": "615e7e0e14734be59a7fc9e4268b9b75", "sha256": "5aeee4615d3f90cbdf29df6c53bb27a37521f7a307e38b7a59810451103f15e3" }, "downloads": -1, "filename": "zope.app.testing-3.6.0.tar.gz", "has_sig": false, "md5_digest": "615e7e0e14734be59a7fc9e4268b9b75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32214, "upload_time": "2009-02-01T19:25:23", "url": "https://files.pythonhosted.org/packages/d7/ea/7ac1ee5e88d7b0fb246267f3d6b20608d5e7cc0820f250c454fae780a637/zope.app.testing-3.6.0.tar.gz" } ], "3.6.1": [ { "comment_text": "", "digests": { "md5": "c25c4fba6710069c12580aa04276da54", "sha256": "1d26e7599a0354941b6f9eb474ea4a717d773ebadfe5164993c30aba8415d7fb" }, "downloads": -1, "filename": "zope.app.testing-3.6.1.tar.gz", "has_sig": false, "md5_digest": "c25c4fba6710069c12580aa04276da54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29492, "upload_time": "2009-03-12T19:22:09", "url": "https://files.pythonhosted.org/packages/04/42/3776541c21914704c9ca92f764cfba87eddce039f00fd49ccf8a4a595b5e/zope.app.testing-3.6.1.tar.gz" } ], "3.6.2": [ { "comment_text": "", "digests": { "md5": "8ff6fc3329e6f2f747067534c44b898e", "sha256": "a0a3384b0cb446366d93e25c59d02d0e33d8789cd2a653758e20bddd0c7d6f8a" }, "downloads": -1, "filename": "zope.app.testing-3.6.2.zip", "has_sig": true, "md5_digest": "8ff6fc3329e6f2f747067534c44b898e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46247, "upload_time": "2009-04-26T15:27:40", "url": "https://files.pythonhosted.org/packages/be/80/66ef967c4e626dd7c2ba3130ea44a8388e3016249b19178a1a29851f35bc/zope.app.testing-3.6.2.zip" } ], "3.7.0": [ { "comment_text": "", "digests": { "md5": "4a4b6e4ec2e456c41151e8b83e6236a6", "sha256": "bb227927cc46f07df0ea83232dabd3270efcb6e46310246210d8d7382e50157f" }, "downloads": -1, "filename": "zope.app.testing-3.7.0.tar.gz", "has_sig": false, "md5_digest": "4a4b6e4ec2e456c41151e8b83e6236a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31866, "upload_time": "2009-06-19T21:20:43", "url": "https://files.pythonhosted.org/packages/a9/55/a18edbc9ef6ee8b1af52dc496a4e54f6001860d83840297e649a3e400264/zope.app.testing-3.7.0.tar.gz" } ], "3.7.1": [ { "comment_text": "", "digests": { "md5": "f19f3350c11783027df15724dc34e837", "sha256": "b79bfa8902ad32c6f7f27c013b4818e186a9548365b66ad120f999ae9010e24d" }, "downloads": -1, "filename": "zope.app.testing-3.7.1.tar.gz", "has_sig": false, "md5_digest": "f19f3350c11783027df15724dc34e837", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31632, "upload_time": "2009-07-23T21:00:45", "url": "https://files.pythonhosted.org/packages/ea/85/f6b1135e4232bf1000503de7909e94e42b337f0be6d4d5c08faf21a5c53e/zope.app.testing-3.7.1.tar.gz" } ], "3.7.2": [ { "comment_text": "", "digests": { "md5": "4a77aa2b0ff5935d0fb5322b676fb94a", "sha256": "dabcd13f281a1df75252c16997a65833279fc316e50358a78916daa872899604" }, "downloads": -1, "filename": "zope.app.testing-3.7.2.tar.gz", "has_sig": false, "md5_digest": "4a77aa2b0ff5935d0fb5322b676fb94a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31710, "upload_time": "2009-07-24T16:04:53", "url": "https://files.pythonhosted.org/packages/f9/90/3f2eed3a7fd595353b0f465e7b39ebcc07d267db15bc6939273615207b22/zope.app.testing-3.7.2.tar.gz" } ], "3.7.3": [ { "comment_text": "", "digests": { "md5": "818ad6c6483f1859985bba1bcce44908", "sha256": "14f30f3e0e8e9278db634ca039ff074c24ed864de26fad42c067625684b172b8" }, "downloads": -1, "filename": "zope.app.testing-3.7.3.tar.gz", "has_sig": false, "md5_digest": "818ad6c6483f1859985bba1bcce44908", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30484, "upload_time": "2009-08-20T15:18:54", "url": "https://files.pythonhosted.org/packages/04/ff/272817d1ffc661a8c9c53f71beeb139c61a82b720b6cb52ef1794c83f07a/zope.app.testing-3.7.3.tar.gz" } ], "3.7.4": [ { "comment_text": "", "digests": { "md5": "fadc3ce00449ee9d5ff75e65bb832d40", "sha256": "3dc47d7fc90c0afff3e609eeb5ef56147a66d6523f4c05df04c416162735aaf1" }, "downloads": -1, "filename": "zope.app.testing-3.7.4.tar.gz", "has_sig": false, "md5_digest": "fadc3ce00449ee9d5ff75e65bb832d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29509, "upload_time": "2010-01-08T23:12:32", "url": "https://files.pythonhosted.org/packages/78/ce/2609964d5b46cf9aea49fa9339e4a2edefbb8b5252ad87dddbe8b4356979/zope.app.testing-3.7.4.tar.gz" } ], "3.7.5": [ { "comment_text": "", "digests": { "md5": "4f2debbaefc27ce2e41f566796840d32", "sha256": "3204c3694348a226295f6ce4d6696ce94a383d5633a8d90d8a9ae3c8e635c8c4" }, "downloads": -1, "filename": "zope.app.testing-3.7.5.tar.gz", "has_sig": false, "md5_digest": "4f2debbaefc27ce2e41f566796840d32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29569, "upload_time": "2010-04-11T02:16:35", "url": "https://files.pythonhosted.org/packages/93/43/bdf77180db6d334d32f07c608b667a88a10ca459f15da3901640afdaf722/zope.app.testing-3.7.5.tar.gz" } ], "3.7.6": [ { "comment_text": "", "digests": { "md5": "130df8454837fd7053aec6dff3b898b7", "sha256": "7a837ec2194fba976804838dfad47a5c1d7811b7a5b85207e92c7c603368e065" }, "downloads": -1, "filename": "zope.app.testing-3.7.6.tar.gz", "has_sig": false, "md5_digest": "130df8454837fd7053aec6dff3b898b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30649, "upload_time": "2010-09-14T16:46:23", "url": "https://files.pythonhosted.org/packages/e0/15/d2c4d679f4cf57f87aa5e7042dc7b01b40829cc9d131587b8efa209e5342/zope.app.testing-3.7.6.tar.gz" } ], "3.7.7": [ { "comment_text": "", "digests": { "md5": "80fec15a4fb233da3f8b5172e49bbe71", "sha256": "4df1caa2c1022b49db6ec48a5f984585bde2790f1525ebebd7a5a6b3f9f897ac" }, "downloads": -1, "filename": "zope.app.testing-3.7.7.tar.gz", "has_sig": false, "md5_digest": "80fec15a4fb233da3f8b5172e49bbe71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30321, "upload_time": "2010-09-14T17:02:32", "url": "https://files.pythonhosted.org/packages/e8/ce/f21895bab56368b43fc3e0c782b737b79b6eeb40693525cc2733035de8a5/zope.app.testing-3.7.7.tar.gz" } ], "3.7.8": [ { "comment_text": "", "digests": { "md5": "6fd3eb11e24973a3dbdf5f1ab655c0d4", "sha256": "d3b708840a873b481abcf95643d009bb8a432e1bf12b90a795fc61d437c04e5d" }, "downloads": -1, "filename": "zope.app.testing-3.7.8.tar.gz", "has_sig": false, "md5_digest": "6fd3eb11e24973a3dbdf5f1ab655c0d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30357, "upload_time": "2010-09-17T17:49:07", "url": "https://files.pythonhosted.org/packages/55/10/ff0765190e9b61c1ddede86cab40bf04a78d90a37c9547dcc43d601ff386/zope.app.testing-3.7.8.tar.gz" } ], "3.8.0": [ { "comment_text": "", "digests": { "md5": "92f2c77d8db355a3554db95f1cc27d9f", "sha256": "f53f266b37848811b397f0d47d447887f38ab026407f808cada33af16b8e5b5e" }, "downloads": -1, "filename": "zope.app.testing-3.8.0.tar.gz", "has_sig": false, "md5_digest": "92f2c77d8db355a3554db95f1cc27d9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30775, "upload_time": "2010-09-14T17:04:59", "url": "https://files.pythonhosted.org/packages/60/f6/6fcbe5a00680c11cd4b1dfff7e3a4bc4e45f504b5924b69215bcb0784a11/zope.app.testing-3.8.0.tar.gz" } ], "3.8.1": [ { "comment_text": "", "digests": { "md5": "cdc833deb3085c3910cccc1f50ba03c1", "sha256": "8554b792ac7d69355ef04d243af3141f893b397d3d4d4b78304084dc74db179a" }, "downloads": -1, "filename": "zope.app.testing-3.8.1.tar.gz", "has_sig": false, "md5_digest": "cdc833deb3085c3910cccc1f50ba03c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34785, "upload_time": "2011-01-07T20:54:34", "url": "https://files.pythonhosted.org/packages/f8/30/eb4b7f4f2b99465d8428a3e7ceb8a80021cc14b95d97cc789ffa82bde5a9/zope.app.testing-3.8.1.tar.gz" } ], "3.9.0": [ { "comment_text": "", "digests": { "md5": "2eb39f0e19fa7b05c48daf95a1b38400", "sha256": "cbb248d4d4cc1e4a78e43002c84f887583caa083c99d3327c6499b967f5164fe" }, "downloads": -1, "filename": "zope.app.testing-3.9.0.tar.gz", "has_sig": false, "md5_digest": "2eb39f0e19fa7b05c48daf95a1b38400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36674, "upload_time": "2011-03-14T10:12:42", "url": "https://files.pythonhosted.org/packages/3b/49/0e1edbf739a9042830b5366cfe014df600dd79a0d501f5a2c021328cdb87/zope.app.testing-3.9.0.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "f24a4692633d6b00b0de0b3cc38fbc3e", "sha256": "22c21919e216a9a47da860e9af6eeae76a5c77953efda81bb8a2f5543b6c0208" }, "downloads": -1, "filename": "zope.app.testing-4.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f24a4692633d6b00b0de0b3cc38fbc3e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45437, "upload_time": "2018-10-24T10:55:55", "url": "https://files.pythonhosted.org/packages/54/a7/ab178fd3ffe001a633fc33f472f757deb3ae6885fb7d4423f62a39a172fc/zope.app.testing-4.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "965aa9bbd11729f55ac8a10c5a238ec8", "sha256": "fbdbcf93b75a8daaff9eaff1f0423d68cdcb740c4534bfa0083c1466d86b56a4" }, "downloads": -1, "filename": "zope.app.testing-4.0.0.tar.gz", "has_sig": false, "md5_digest": "965aa9bbd11729f55ac8a10c5a238ec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42348, "upload_time": "2018-10-24T10:55:57", "url": "https://files.pythonhosted.org/packages/50/a8/cbb1a15f27f4131d1b712e59a33c515f531e5f344a92c5c047dae540798b/zope.app.testing-4.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f24a4692633d6b00b0de0b3cc38fbc3e", "sha256": "22c21919e216a9a47da860e9af6eeae76a5c77953efda81bb8a2f5543b6c0208" }, "downloads": -1, "filename": "zope.app.testing-4.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f24a4692633d6b00b0de0b3cc38fbc3e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45437, "upload_time": "2018-10-24T10:55:55", "url": "https://files.pythonhosted.org/packages/54/a7/ab178fd3ffe001a633fc33f472f757deb3ae6885fb7d4423f62a39a172fc/zope.app.testing-4.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "965aa9bbd11729f55ac8a10c5a238ec8", "sha256": "fbdbcf93b75a8daaff9eaff1f0423d68cdcb740c4534bfa0083c1466d86b56a4" }, "downloads": -1, "filename": "zope.app.testing-4.0.0.tar.gz", "has_sig": false, "md5_digest": "965aa9bbd11729f55ac8a10c5a238ec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42348, "upload_time": "2018-10-24T10:55:57", "url": "https://files.pythonhosted.org/packages/50/a8/cbb1a15f27f4131d1b712e59a33c515f531e5f344a92c5c047dae540798b/zope.app.testing-4.0.0.tar.gz" } ] }