{ "info": { "author": "Suresh V.", "author_email": "suresh@grafware.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Introduction\n============\n\n``collective.MockMailHost`` enables integration testing of email functionality\nfrom Plone_. Simply add this egg to your [test] runner section, and install\nthis product through your ``Layer`` or ``TestCase``.\n\nNote\n THIS IS FOR TESTING PURPOSE ONLY, do not use this product on your\n running Plone site. It replaces the standard MailHost with a Mock\n MailHost that you can poke at to check email content and recipients.\n\nHas been tested with Plone 4 but should also work with earlier versions.\n\n\nIntegration\n-----------\n\nExample how to integrate ``collective.MockMailHost`` to your testing setup\nbased on `plone.app.testing`_. Add the package to your extras_requires section\nin your package's ``setup.py`` file, so buildout will automatically download\nthe package for you.::\n\n setup(name='my.package',\n ...\n extras_require={\n 'test': [\n 'plone.app.testing',\n 'collective.MockMailHost',\n ]\n },\n ...\n )\n\nYour test layer setup could look like this example below::\n\n from plone.app.testing import helpers, layers\n from plone.testing import z2\n\n\n class MyLayer(helpers.PloneSandboxLayer):\n defaultBases = (layers.PLONE_FIXTURE, )\n\n def setUpZope(self, app, configurationContext):\n # Load zcml\n import collective.MockMailHost\n self.loadZCML(package=collective.MockMailHost)\n\n # Install product and call its initialize() function\n z2.installProduct(app, 'collective.MockMailHost')\n\n # Note: you can skip this if my.product is not a Zope 2-style\n # product, i.e. it is not in the Products.* namespace and it\n # does not have a directive in its\n # configure.zcml.\n\n def tearDownZope(self, app):\n # Uninstall product\n z2.uninstallProduct(app, 'collective.MockMailHost')\n\n # Note: Again, you can skip this if my.product is not a Zope 2-\n # style product\n\n def setUpPloneSite(self, portal):\n helpers.quickInstallProduct(portal, 'collective.MockMailHost')\n\n helpers.applyProfile(portal, 'collective.MockMailHost:default')\n\n MY_FIXTURE = MyLayer()\n\n.. _Plone: http://plone.org\n.. _`plone.app.testing`: http://pypi.python.org/pypi/plone.app.testing\n\nUsing a member-posting forum\n============================\n\n >>> from Products.CMFCore.utils import getToolByName\n >>> from Products.MailHost.interfaces import IMailHost\n >>> from zope.component import getUtility\n\n >>> app = layer['app']\n >>> portal = layer['portal']\n\nTest starting conversations, replying and modifying comments in a default\nmember-posting forum.\n\nLet us log all exceptions, which is useful for debugging. Also, clear portlet\nslots, to make the test browser less confused by things like the recent portlet\nand the navtree.\n\n >>> portal.error_log._ignored_exceptions = ()\n >>> portal.left_slots = portal.right_slots = []\n >>> workflow = portal.portal_workflow\n\nValidate mailhost replacement\n-----------------------------\n\n >>> portal.MailHost\n \n\n >>> getToolByName(portal, 'MailHost')\n \n\n >>> getUtility(IMailHost)\n \n\n\nSend email\n----------\n\n >>> to_ = \"member@example.com\"\n >>> from_ = \"admin@example.com\"\n >>> msg = \"\"\"\n ...\n ... Dear Sir:\n ...\n ... Thank you\"\"\"\n >>> portal.MailHost.send(msg, to_, from_)\n >>> len(portal.MailHost.messages)\n 1\n >>> 'To: member@example.com' in portal.MailHost.messages[0]\n True\n >>> 'From: admin@example.com' in portal.MailHost.messages[0]\n True\n >>> 'Dear Sir:' in portal.MailHost.messages[0]\n True\n >>> portal.MailHost.reset()\n >>> len(portal.MailHost.messages)\n 0\n\n\nChangelog\n=========\n\n2.0.0 (2018-11-06)\n------------------\n\nBreaking changes:\n\n- Do not depend on old SecureMailHost any longer.\n [pbauer]\n\nNew features:\n\n- Python 3 support.\n [pbauer]\n\n\n1.1.0 (2018-06-27)\n------------------\n\n- Fix import location, Globals has been removed.\n [gforcada]\n\n- Rework tests setup.\n [gforcada]\n\n\n1.0 (2016-01-25)\n----------------\n\n- Fix MIMEText compatibility (broken since 0.9).\n [jone]\n\n\n0.9 (2015-07-10)\n----------------\n\n- Clean up msg before sending. Otherwise Plone self registration\n email does not work [sureshvv]\n\n\n0.8 (2015-06-13)\n----------------\n\n- Add browser view for functional testing [Casecarsid]\n\n\n0.7 (2013-07-05)\n----------------\n\n- MANIFEST [sureshvv]\n\n\n0.6 (2013-07-03)\n----------------\n\n- Track msg_type also.\n [sureshvv]\n\n- Behave more like ``collective.testcaselayer``'s MockMailHost.\n [saily]\n\n- Documentation updates\n [saily]\n\n\n0.5 - 2012-09-25\n----------------\n\n- Remove ZopeSkel and Paster dependency from setup.py\n [saily]\n\n- Moved to github and changed to README.rst, links in setup.py\n [saily]\n\n- Allow multiple paramters for ``send`` and ``secureSend`` method in\n MockMailHost class. [saily]\n\n\n0.4 (2011-05-17)\n----------------\n\n- Register MockMailHost in SiteManager to get MockMailHost when using\n ``getToolByName(context, 'MailHost')`` or ``getUtility(IMailHost)``.\n [saily]\n\n- Inherit from MailHost instead of SimpleItem\n [saily]\n\n- Implement the secureSend method\n [saily]\n\n\n0.3 (2011-04-04)\n----------------\n\n- Add ``**kwargs`` to MockMailHost's send method to support mto, mfrom, ...\n keyword arguments as default MailHost does. [saily]\n\n- Added file for generic setup various handlers\n [sureshvv]\n\n\n0.2 (2010-05-21)\n----------------\n\n- Added tests\n [sureshvv]\n\n\n0.1 (2010-05-16)\n----------------\n\n- Initial release\n [sureshvv]\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/collective/collective.mockmailhost", "keywords": "mock mailhost tests", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "collective.MockMailHost", "package_url": "https://pypi.org/project/collective.MockMailHost/", "platform": "", "project_url": "https://pypi.org/project/collective.MockMailHost/", "project_urls": { "Homepage": "https://github.com/collective/collective.mockmailhost" }, "release_url": "https://pypi.org/project/collective.MockMailHost/2.0.0/", "requires_dist": [ "setuptools", "Products.GenericSetup", "Products.MailHost", "Products.CMFCore", "plone.app.testing; extra == 'test'", "plone.testing; extra == 'test'", "zope.component; extra == 'test'" ], "requires_python": "", "summary": "Used for integration testing with Plone", "version": "2.0.0" }, "last_serial": 4456447, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "4c454299c0c6373bfac1e87a4306fec4", "sha256": "0649422abeb86a6cf510e3469f9d979a92a05832fcada2c4d3fee917fd517d98" }, "downloads": -1, "filename": "collective.MockMailHost-0.2.tar.gz", "has_sig": false, "md5_digest": "4c454299c0c6373bfac1e87a4306fec4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12136, "upload_time": "2010-05-21T08:49:07", "url": "https://files.pythonhosted.org/packages/47/1f/5b405ba3167e8435633db0efb0c1ccace0793ecaef7588afd8840a324a26/collective.MockMailHost-0.2.tar.gz" } ], "0.2dev": [ { "comment_text": "", "digests": { "md5": "67e07585181dd67d366caa9f121f3f1c", "sha256": "d44721f4c7c7352e0175c6a6ade7e8718bdd6cfa9dd5d95085f7121e0b3b2a96" }, "downloads": -1, "filename": "collective.MockMailHost-0.2dev.tar.gz", "has_sig": false, "md5_digest": "67e07585181dd67d366caa9f121f3f1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11359, "upload_time": "2010-05-16T16:46:31", "url": "https://files.pythonhosted.org/packages/10/07/67ee95100dd5c885a2dbf1049984e160b38220ae5dac6f851f3d007f66a6/collective.MockMailHost-0.2dev.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "be28b0607993c02c40f3c597dec78e01", "sha256": "31edc0ba2dd4ed2340f975390434bf086d64b1030bd85200211d437ff180e3ce" }, "downloads": -1, "filename": "collective.MockMailHost-0.3.zip", "has_sig": false, "md5_digest": "be28b0607993c02c40f3c597dec78e01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20326, "upload_time": "2011-04-04T11:36:27", "url": "https://files.pythonhosted.org/packages/1b/e7/51a3f395c34a90ffb3077a2fd2014a4eda0e16e184e2d62a0aad18565a84/collective.MockMailHost-0.3.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "df777d53cb8017433b47395655c31cb0", "sha256": "5b57c489c5cda866052423e479bc2b745028b2205d9778fb4f0b6da0de4d6bb7" }, "downloads": -1, "filename": "collective.MockMailHost-0.4.zip", "has_sig": false, "md5_digest": "df777d53cb8017433b47395655c31cb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22050, "upload_time": "2011-05-17T16:31:58", "url": "https://files.pythonhosted.org/packages/0d/d6/6c5b1b3569e42193d892d6c324a37dc23615feb2e66fa8673330263630ac/collective.MockMailHost-0.4.zip" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "859152b32d62fadcc63aa5cdbb5713cd", "sha256": "bde8d522e39e6d4114addee539aadd86112a9d9ee91ec1b8f5a00803cd41bd28" }, "downloads": -1, "filename": "collective.MockMailHost-0.5.zip", "has_sig": false, "md5_digest": "859152b32d62fadcc63aa5cdbb5713cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22317, "upload_time": "2012-09-25T16:31:10", "url": "https://files.pythonhosted.org/packages/46/1e/be9d4c133afa9c72a8ee826f103ec03edc47d2b57dfe1ebc96a69bcef788/collective.MockMailHost-0.5.zip" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "d4419206baa67c7adf681e59b59e0fe4", "sha256": "949e53d4ab1b81c24bc538723ae8c9d0c9b722f49fbe12e27b0883ef5b4f8c0e" }, "downloads": -1, "filename": "collective.MockMailHost-0.6.zip", "has_sig": false, "md5_digest": "d4419206baa67c7adf681e59b59e0fe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12544, "upload_time": "2013-07-03T04:04:32", "url": "https://files.pythonhosted.org/packages/2b/73/ca87ff3b531ed78935a9ecd13f6cf27901b07f3e9c42a4191a7c803269af/collective.MockMailHost-0.6.zip" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "bf166e0376c8dfbb36fb050b49423e6b", "sha256": "37133f8326bfee673641bec09d37346efdc9026957d3612911000fffb88a3704" }, "downloads": -1, "filename": "collective.MockMailHost-0.7.zip", "has_sig": false, "md5_digest": "bf166e0376c8dfbb36fb050b49423e6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25135, "upload_time": "2013-07-05T09:30:02", "url": "https://files.pythonhosted.org/packages/4e/a3/395c1bd045bbc3240bdbf9440534d802edf809631a99da174b11fdcc1d14/collective.MockMailHost-0.7.zip" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "c80ec3cbec1dc701e87e6cadd1380072", "sha256": "32b1591b7e9a1d0c48db26c581645322c9fb37f873b29df439a509ad7092ac09" }, "downloads": -1, "filename": "collective.MockMailHost-0.8.zip", "has_sig": false, "md5_digest": "c80ec3cbec1dc701e87e6cadd1380072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26235, "upload_time": "2015-06-13T07:13:12", "url": "https://files.pythonhosted.org/packages/fb/b0/74aaad2d78f238450e9c584ed6c987c580fd8af2d3d6b72940c3f6eabe51/collective.MockMailHost-0.8.zip" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "fca8630bb7894bc2febbd0b1f666b553", "sha256": "a685a3ba1e0b98483d76ad40c6b0a2f9ecd95373524518a892881074fd3bd336" }, "downloads": -1, "filename": "collective.MockMailHost-0.9.zip", "has_sig": false, "md5_digest": "fca8630bb7894bc2febbd0b1f666b553", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26441, "upload_time": "2015-07-10T12:24:22", "url": "https://files.pythonhosted.org/packages/db/30/814f0656517f49f18cf3c9ce4b57e3f6a9eaacb36093e32662b881705c3d/collective.MockMailHost-0.9.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "177127f229a28950cd289c8123d74c35", "sha256": "000b4ebf7b5c2363ad3811ad9602019d7676b7bd64cdfc5ecdd8a0b954561fcc" }, "downloads": -1, "filename": "collective.MockMailHost-1.0.tar.gz", "has_sig": false, "md5_digest": "177127f229a28950cd289c8123d74c35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16388, "upload_time": "2016-01-25T09:39:56", "url": "https://files.pythonhosted.org/packages/20/7f/0131c2121254b6cdf27006179d154a64ed185fc7cc3fe0c142df83ed2b76/collective.MockMailHost-1.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b9122d781f20cfc74b587dbc952c408b", "sha256": "922271d30b9b860b5a9609b842456dfecfe69ef74ec36229c634c6e51b6416de" }, "downloads": -1, "filename": "collective.MockMailHost-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "b9122d781f20cfc74b587dbc952c408b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11623, "upload_time": "2018-06-27T08:22:06", "url": "https://files.pythonhosted.org/packages/98/8f/2c77ecbdd64c4b3811dc9eabd3d23fba257c086938ff458bc9c92bfc4bb8/collective.MockMailHost-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bd896b4410ac9493d6864c0a43926fe", "sha256": "8185100833391ad49ad966e189d2d6f9c3c0f8e302f5c2f25e7e90a64686d1b9" }, "downloads": -1, "filename": "collective.MockMailHost-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4bd896b4410ac9493d6864c0a43926fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17349, "upload_time": "2018-06-27T08:22:07", "url": "https://files.pythonhosted.org/packages/27/62/0c93c4e43b22f6b3f101b2cee622aaaa7ab18bf04d704fe4af5ee726c98f/collective.MockMailHost-1.1.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "0a448d44a2d5aad92a87256f3a617414", "sha256": "c1d85563b086cdb21b22a6a7512811768f53ffed2db28502c37e9ce876caf5bd" }, "downloads": -1, "filename": "collective.MockMailHost-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a448d44a2d5aad92a87256f3a617414", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11760, "upload_time": "2018-11-06T08:12:06", "url": "https://files.pythonhosted.org/packages/b7/93/3930247bebc412a54f1170c67127cf0429770d57db7676e023e84f65d910/collective.MockMailHost-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b0bc08af3103cf345a2a2270eb60ba", "sha256": "b47d431d65818ebf8f2cffd0ccc05677822645941f5f90b10e83bf947a86c4e2" }, "downloads": -1, "filename": "collective.MockMailHost-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e1b0bc08af3103cf345a2a2270eb60ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17227, "upload_time": "2018-11-06T08:12:08", "url": "https://files.pythonhosted.org/packages/b2/05/626b44c87b7a5d10ef41cd3e1418e1fe192a1e9309c9f87e088b94eab628/collective.MockMailHost-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a448d44a2d5aad92a87256f3a617414", "sha256": "c1d85563b086cdb21b22a6a7512811768f53ffed2db28502c37e9ce876caf5bd" }, "downloads": -1, "filename": "collective.MockMailHost-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a448d44a2d5aad92a87256f3a617414", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11760, "upload_time": "2018-11-06T08:12:06", "url": "https://files.pythonhosted.org/packages/b7/93/3930247bebc412a54f1170c67127cf0429770d57db7676e023e84f65d910/collective.MockMailHost-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1b0bc08af3103cf345a2a2270eb60ba", "sha256": "b47d431d65818ebf8f2cffd0ccc05677822645941f5f90b10e83bf947a86c4e2" }, "downloads": -1, "filename": "collective.MockMailHost-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e1b0bc08af3103cf345a2a2270eb60ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17227, "upload_time": "2018-11-06T08:12:08", "url": "https://files.pythonhosted.org/packages/b2/05/626b44c87b7a5d10ef41cd3e1418e1fe192a1e9309c9f87e088b94eab628/collective.MockMailHost-2.0.0.tar.gz" } ] }