diff --git a/Products/PasswordResetTool/tests/browser.txt b/Products/PasswordResetTool/tests/browser.txt index 284a992..1180ac7 100644 --- a/Products/PasswordResetTool/tests/browser.txt +++ b/Products/PasswordResetTool/tests/browser.txt @@ -8,12 +8,9 @@ Note that our usage of testbrowser is unusual and inconsistent, mostly because Plone forms have inconsistencies and because testbrowser makes assumptions that are not true for Plone forms. - >>> from Products.PloneTestCase import PloneTestCase as PTC - >>> from Products.Five.testbrowser import Browser - >>> browser = Browser() - >>> browser.handleErrors = False - >>> browser.open('http://nohost/plone/') - + >>> from plone.testing.z2 import Browser + >>> from plone.app.testing import TEST_USER_NAME, TEST_USER_PASSWORD + >>> browser = Browser(layer['app']) Assumptions ----------- @@ -84,8 +81,8 @@ type in his initial password, so we need to enable that: >>> browser.open('http://nohost/plone/login') >>> browser.getLink('Log in').click() - >>> browser.getControl(name='__ac_name').value = PTC.portal_owner - >>> browser.getControl(name='__ac_password').value = PTC.default_password + >>> browser.getControl(name='__ac_name').value = TEST_USER_NAME + >>> browser.getControl(name='__ac_password').value = TEST_USER_PASSWORD >>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True @@ -157,7 +154,7 @@ As part of our test setup, we replaced the original MailHost with our own version. Our version doesn't mail messages, it just collects them in a list called ``messages``: - >>> mailhost = self.portal.MailHost + >>> mailhost = layer['portal'].MailHost >>> len(mailhost.messages) 1 >>> msg = mailhost.messages[0] @@ -224,8 +221,8 @@ Log out again: First, we want to login as the portal owner: >>> browser.open('http://nohost/plone/login') - >>> browser.getControl(name='__ac_name').value = PTC.portal_owner - >>> browser.getControl(name='__ac_password').value = PTC.default_password + >>> browser.getControl(name='__ac_name').value = SITE_OWNER_NAME + >>> browser.getControl(name='__ac_password').value = SITE_OWNER_PASSWORD >>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True @@ -271,8 +268,8 @@ password. First off, we need to set ``validate_mail`` to False: >>> browser.open('http://nohost/plone/login') - >>> browser.getControl(name='__ac_name').value = PTC.portal_owner - >>> browser.getControl(name='__ac_password').value = PTC.default_password + >>> browser.getControl(name='__ac_name').value = SITE_OWNER_NAME + >>> browser.getControl(name='__ac_password').value = SITE_OWNER_PASSWORD >>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True @@ -308,7 +305,7 @@ Now register: We should have received an e-mail at this point: - >>> mailhost = self.portal.MailHost + >>> mailhost = layer['portal'].MailHost >>> len(mailhost.messages) 2 >>> msg = str(mailhost.messages[-1]) @@ -363,10 +360,10 @@ e-mail is sent containing the URL that lets the user log in. First, we want to login as the portal owner: - >>> from Products.PloneTestCase import PloneTestCase as PTC + >>> from plone.app.testing import SITE_OWNER_NAME, SITE_OWNER_PASSWORD >>> browser.open('http://nohost/plone/login') - >>> browser.getControl(name='__ac_name').value = PTC.portal_owner - >>> browser.getControl(name='__ac_password').value = PTC.default_password + >>> browser.getControl(name='__ac_name').value = SITE_OWNER_NAME + >>> browser.getControl(name='__ac_password').value = SITE_OWNER_PASSWORD >>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True @@ -394,7 +391,7 @@ Now register and logout: We should have received an e-mail at this point: - >>> mailhost = self.portal.MailHost + >>> mailhost = layer['portal'].MailHost >>> len(mailhost.messages) 3 >>> msg = str(mailhost.messages[-1]) diff --git a/Products/PasswordResetTool/tests/test_doctests.py b/Products/PasswordResetTool/tests/test_doctests.py index d49f07e..02901cc 100644 --- a/Products/PasswordResetTool/tests/test_doctests.py +++ b/Products/PasswordResetTool/tests/test_doctests.py @@ -4,45 +4,45 @@ import doctest import unittest -from Testing.ZopeTestCase import FunctionalDocFileSuite -from Products.PloneTestCase import PloneTestCase from Products.MailHost.interfaces import IMailHost from zope.component import getSiteManager from Acquisition import aq_base -PloneTestCase.setupPloneSite() - from Products.CMFPlone.tests.utils import MockMailHost - +from plone.app import testing +from plone.testing import layered OPTIONFLAGS = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE) -class MockMailHostTestCase(PloneTestCase.FunctionalTestCase): +class MockMailFixture(testing.PloneSandboxLayer): - def afterSetUp(self): - self.portal._original_MailHost = self.portal.MailHost - self.portal.MailHost = mailhost = MockMailHost('MailHost') + defaultBases = (testing.PLONE_FIXTURE,) + + def setUpPloneSite(self, portal): + portal._original_MailHost = self.portal.MailHost + portal.MailHost = mailhost = MockMailHost('MailHost') mailhost.smtp_host = 'localhost' - sm = getSiteManager(context=self.portal) + sm = getSiteManager(context=portal) sm.unregisterUtility(provided=IMailHost) sm.registerUtility(mailhost, provided=IMailHost) - self.portal.email_from_address = 'test@example.com' + portal.email_from_address = 'test@example.com' - def beforeTearDown(self): - self.portal.MailHost = self.portal._original_MailHost - sm = getSiteManager(context=self.portal) - sm.unregisterUtility(provided=IMailHost) - sm.registerUtility(aq_base(self.portal._original_MailHost), provided=IMailHost) +# def beforeTearDown(self): +# self.portal.MailHost = self.portal._original_MailHost +# sm = getSiteManager(context=self.portal) +# sm.unregisterUtility(provided=IMailHost) +# sm.registerUtility(aq_base(self.portal._original_MailHost), provided=IMailHost) +MOCK_MAIL_FIXTURE = MockMailFixture() def test_suite(): return unittest.TestSuite(( - FunctionalDocFileSuite('browser.txt', + doctest.DocFileSuite('browser.txt', optionflags=OPTIONFLAGS, package='Products.PasswordResetTool.tests', test_class=MockMailHostTestCase), - FunctionalDocFileSuite('view.txt', + doctest.DocFileSuite('view.txt', optionflags=OPTIONFLAGS, package='Products.PasswordResetTool.tests', test_class=MockMailHostTestCase), diff --git a/Products/PasswordResetTool/tests/view.txt b/Products/PasswordResetTool/tests/view.txt index fca4ef4..dd2c9eb 100644 --- a/Products/PasswordResetTool/tests/view.txt +++ b/Products/PasswordResetTool/tests/view.txt @@ -1,16 +1,16 @@ Test passwordreset BrowserView - >>> from Products.PloneTestCase import PloneTestCase as PTC - >>> from Products.Five.testbrowser import Browser - >>> browser = Browser() - >>> browser.handleErrors = False + >>> from plone.testing.z2 import Browser + >>> from plone.app.testing import TEST_USER_NAME, TEST_USER_PASSWORD + >>> browser = Browser(layer['app']) >>> browser.open('http://nohost/plone/') Setup Plone email sender - >>> self.portal.email_from_name=u'Old\u0159ich a Bo\u017eena' - >>> self.portal.email_from_address='smith@example.com' - >>> self.portal.title=u'Koko\u0159\xedn Portal' + >>> portal = layer['portal'] + >>> portal.email_from_name=u'Old\u0159ich a Bo\u017eena' + >>> portal.email_from_address='smith@example.com' + >>> portal.title=u'Koko\u0159\xedn Portal' Check view methods diff --git a/setup.py b/setup.py index 0443ee6..54cad27 100644 --- a/setup.py +++ b/setup.py @@ -26,7 +26,7 @@ zip_safe=False, extras_require=dict( test=[ - 'Products.PloneTestCase', + 'plone.app.testing', ] ), install_requires=[