Ejemplo n.º 1
0
    def setUp(self):
        self.app = self.layer['app']
        self.portal = self.layer['portal']
        self.request = self.layer['request']
        # Mock the mail host so we can test sending the email
        # NEVER EVER IMPORT MOCKMAILHOST OUTSIDE OF SETUP!
        # IT WILL BREAK YOUR TEST_ISOLATION AND KILL YOUR FIRSTBORN
        from Products.CMFPlone.tests.utils import MockMailHost
        from Products.MailHost.interfaces import IMailHost
        mockmailhost = MockMailHost('MailHost')

        if not hasattr(mockmailhost, 'smtp_host'):
            mockmailhost.smtp_host = 'localhost'

        self.portal.MailHost = mockmailhost
        sm = self.portal.getSiteManager()
        sm.registerUtility(component=mockmailhost, provided=IMailHost)

        self.mailhost = api.portal.get_tool('MailHost')
        registry = getUtility(IRegistry)
        self.mail_settings = registry.forInterface(IMailSchema, prefix="plone")
        self.mail_settings.email_from_name = u'Portal Owner'
        self.mail_settings.email_from_address = '*****@*****.**'

        self.browser = Browser(self.app)
        self.browser.handleErrors = False

        # Commit so that the test browser sees these changes
        import transaction
        transaction.commit()
Ejemplo n.º 2
0
    def testMailPassword(self):
        # tests email sending for password emails
        # First install a fake mailhost utility
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id,
                                    'secret',
                                    properties={
                                        'username': member_id,
                                        'email': '*****@*****.**'
                                    })
        # Set the portal email info
        self.portal.setTitle('T\xc3\xa4st Portal')
        self.portal.email_from_name = 'T\xc3\xa4st Admin'
        self.portal.email_from_address = '*****@*****.**'

        from zope.publisher.browser import TestRequest
        self.registration.mailPassword(member_id, TestRequest())
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_string(mails.messages[0])
        # We get an encoded subject
        self.assertEqual(msg['Subject'], '=?utf-8?q?Password_reset_request?=')
        # Also a partially encoded from header
        self.assertEqual(msg['From'],
                         '=?utf-8?q?T=C3=A4st_Admin?= <*****@*****.**>')
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="utf-8"')
        # And a Quoted Printable encoded body
        self.assertTrue('T=C3=A4st Porta' in msg.get_payload())
    def setUp(self):
        self.portal = self.layer['portal']
        self.portal_url = self.portal.absolute_url()
        self.browser = Browser(self.portal)
        self.browser.handleErrors = False
        self.mail_settings = get_portal_mail_settings()
        self.mail_settings.email_from_address = "*****@*****.**"
        # Set up a mock mailhost
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        self.portal.MailHost.smtp_host = 'localhost'
        self.portal.MailHost.email_from_address = '*****@*****.**'
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)
        # We need to fake a valid mail setup

        # create EasyNewsletter instance and add some subscribers
        setRoles(self.portal, TEST_USER_ID, ['Manager'])
        self.portal.invokeFactory('EasyNewsletter', 'enl1', title=u"ENL 1")
        self.newsletter = self.portal.get('enl1')
        self.newsletter.senderEmail = "*****@*****.**"
        self.newsletter.senderName = "ACME newsletter"
        self.newsletter.testEmail = "*****@*****.**"

        # Commit so that the test browser sees these changes
        import transaction as zt
        zt.commit()
Ejemplo n.º 4
0
    def testRegisteredNotifyEncoding(self):
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id,
                                    'secret',
                                    properties={
                                        'username': member_id,
                                        'email': '*****@*****.**'
                                    })
        # Set the portal email info
        self.portal.setTitle('Test Portal')
        self.portal.email_from_name = 'Test Admin'
        self.portal.email_from_address = '*****@*****.**'

        # Set the portal email encoding
        self.portal.email_charset = 'us-ascii'

        # Notify the registered user
        self.registration.registeredNotify(member_id)
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_string(mails.messages[0])

        # Ensure charset (and thus Content-Type) were set via template
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="us-ascii"')
Ejemplo n.º 5
0
    def setUp(self):
        self.app = self.layer["app"]
        self.request = self.layer["request"]
        self.portal = self.layer["portal"]
        self.portal_url = self.portal.absolute_url()
        setRoles(self.portal, TEST_USER_ID, ["Manager"])

        # set up blocksdocument content type with IBlock behavior
        fti = DexterityFTI("blocksdocument")
        self.portal.portal_types._setObject("blocksdocument", fti)
        fti.klass = "plone.dexterity.content.Container"
        fti.behaviors = ("volto.blocks", )
        self.portal.invokeFactory("blocksdocument", id="doc")
        self.doc = self.portal["doc"]
        alsoProvides(self.doc, IBlocks)

        # Set up a mock mailhost
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)

        # We need to fake a valid mail setup
        registry = getUtility(IRegistry)
        mail_settings = registry.forInterface(IMailSchema, prefix='plone')
        mail_settings.email_from_address = '*****@*****.**'
        self.mailhost = self.portal.MailHost

        transaction.commit()
    def testRegisteredNotifyEncoding(self):
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id,
                                    'secret',
                                    properties={
                                        'username': member_id,
                                        'email': '*****@*****.**'
                                    })
        registry = getUtility(IRegistry)
        site_settings = registry.forInterface(ISiteSchema, prefix='plone')
        site_settings.site_title = 'Test Portal'
        mail_settings = registry.forInterface(IMailSchema, prefix="plone")
        mail_settings.email_from_name = 'Test Admin'
        mail_settings.email_from_address = '*****@*****.**'

        # Set the portal email encoding
        mail_settings.email_charset = 'us-ascii'

        # Notify the registered user
        self.registration.registeredNotify(member_id)
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_bytes(mails.messages[0])

        # Ensure charset (and thus Content-Type) were set via template
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="us-ascii"')
Ejemplo n.º 7
0
 def setUp(self):
     self.portal = self.layer['portal']
     setRoles(self.portal, TEST_USER_ID, ['Manager'])
     # Set up a mock mailhost
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = mailhost = MockMailHost('MailHost')
     sm = getSiteManager(context=self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     # We need to fake a valid mail setup
     self.portal.email_from_address = "*****@*****.**"
     self.mailhost = self.portal.MailHost
     # Enable comment moderation
     self.portal.portal_types['Document'].allow_discussion = True
     self.portal.portal_workflow.setChainForPortalTypes(
         ('Discussion Item',),
         ('comment_review_workflow',)
     )
     # Enable moderator notification setting
     registry = queryUtility(IRegistry)
     registry[
         'plone.app.discussion.interfaces.IDiscussionSettings.' +
         'moderator_notification_enabled'
     ] = True
     # Create test content
     self.portal.invokeFactory('Document', 'doc1')
     # Archetypes content types store data as utf-8 encoded strings
     # The missing u in front of a string is therefor not missing
     self.portal.doc1.title = 'Kölle Alaaf'  # What is "Fasching"?
     self.conversation = IConversation(self.portal.doc1)
Ejemplo n.º 8
0
    def setUp(self):

        # treat sqlalchemy warnings as errors
        import warnings
        from sqlalchemy.exc import SAWarning
        warnings.simplefilter("error", SAWarning)

        self.app = self.layer['app']
        self.portal = self.layer['portal']

        # setup mock mail host
        self._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)

        self.portal.email_from_address = '*****@*****.**'

        # remove all test event subscribers
        event.subscribers = [
            e for e in event.subscribers if type(e) != TestEventSubscriber
        ]
        setuphandlers.dbsetup(None)

        self.setup_expected_date_formats()
        self.logged_in = False
Ejemplo n.º 9
0
def setUp(self):
    layer = self.globs['layer']
    browser = Browser(layer['app'])
    portal = layer['portal']
    self.globs.update({
        'browser': browser,
        'portal': portal,
        'TEST_USER_NAME': TEST_USER_NAME,
        'TEST_USER_PASSWORD': TEST_USER_PASSWORD,
    })

    browser.setBaseUrl(portal.absolute_url())

    browser.handleErrors = True
    portal.error_log._ignored_exceptions = ()

    setRoles(portal, TEST_USER_ID, ['Manager'])

    # portal._original_MailHost = portal.MailHost
    portal.MailHost = mailhost = MockMailHost('MailHost')
    sm = getSiteManager(context=portal)
    sm.unregisterUtility(provided=IMailHost)
    sm.registerUtility(mailhost, provided=IMailHost)
    self.globs['messages'] = mailhost.messages
    self.globs['prink'] = prink

    transaction.commit()
Ejemplo n.º 10
0
    def setUpPloneSite(self, portal):
        # Workaround for the importVocabularies setuphandler calls
        # createSimpleVocabs which throws:
        # KeyError: 'ACTUAL_URL'
        portal.REQUEST["ACTUAL_URL"] = portal.REQUEST["SERVER_URL"]

        # Install all the Plone stuff + content (including the
        # Members folder)
        applyProfile(portal, 'Products.CMFPlone:plone')
        applyProfile(portal, 'Products.CMFPlone:plone-content')

        # quick install ATVocabularyManager or else we don't have
        # portal.portal_vocabularies
        quickInstallProduct(portal, "Products.ATVocabularyManager")
        quickInstallProduct(portal, "Products.PloneHelpCenter")
        quickInstallProduct(portal, "Products.ATCountryWidget")
        quickInstallProduct(portal, "Products.Collage")
        quickInstallProduct(portal, "plonetheme.classic")
        quickInstallProduct(portal, "Products.LinguaPlone")
        quickInstallProduct(portal, 'osha.adaptation')
        quickInstallProduct(portal, 'slc.googlesearch')

        applyProfile(portal, 'osha.policy:default')
        applyProfile(portal, 'osha.theme:default')
        applyProfile(portal, 'slc.linkcollection:default')

        # Needed to properly install content types
        applyProfile(portal, 'Products.RichDocument:default')
        applyProfile(portal, 'Products.RemoteProvider:default')
        applyProfile(portal, 'Products.CaseStudy:default')
        applyProfile(portal, 'Products.OSHContentLink:default')
        applyProfile(portal, 'slc.seminarportal:default')
        applyProfile(portal, 'slc.outdated:default')
        applyProfile(portal, 'Products.PloneHelpCenter:default')
        applyProfile(portal, 'osha.whoswho:default')

        # We need this imports here, otherwise we get an error
        from Products.CMFPlone.tests.utils import MockMailHost
        from Products.MailHost.interfaces import IMailHost

        # Mock MailHost
        mockmailhost = MockMailHost('MailHost')
        portal.MailHost = mockmailhost
        sm = portal.getSiteManager()
        sm.registerUtility(component=mockmailhost, provided=IMailHost)

        # Login as manager and create a test folder
        setRoles(portal, TEST_USER_ID, ['Manager'])
        login(portal, TEST_USER_NAME)
        portal.invokeFactory('Folder', 'folder')

        # Enable Members folder
        from plone.app.controlpanel.security import ISecuritySchema
        security_adapter = ISecuritySchema(portal)
        security_adapter.set_enable_user_folders(True)

        # Commit so that the test browser sees these objects
        portal.portal_catalog.clearFindAndRebuild()
        import transaction
        transaction.commit()
Ejemplo n.º 11
0
 def afterSetUp(self):
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = mailhost = MockMailHost('MailHost')
     sm = getSiteManager(context=self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     transaction.commit()
Ejemplo n.º 12
0
    def setUp(self):
        """Shared test environment set-up, ran before every test."""
        self.portal = self.layer['portal']

        # Mock the mail host so we can test sending the email
        mockmailhost = MockMailHost('MailHost')

        if not getattr(mockmailhost, 'smtp_host', None):
            mockmailhost.smtp_host = 'localhost'

        self.portal.MailHost = mockmailhost
        sm = self.portal.getSiteManager()
        sm.registerUtility(component=mockmailhost, provided=IMailHost)

        self.mailhost = portal.get_tool('MailHost')
        if HAS_PLONE5:
            portal.set_registry_record(
                'plone.email_from_name',
                u'Portal Owner',
            )
            portal.set_registry_record(
                'plone.email_from_address',
                '*****@*****.**',
            )
        else:
            self.portal._updateProperty(
                'email_from_name',
                'Portal Owner',
            )
            self.portal._updateProperty(
                'email_from_address',
                '*****@*****.**',
            )
 def testRegisteredNotify(self):
     # tests email sending on registration
     # First install a fake mailhost utility
     mails = self.portal.MailHost = MockMailHost('MailHost')
     sm = getSiteManager(self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mails, IMailHost)
     # Register a user
     self.registration.addMember(member_id,
                                 'secret',
                                 properties={
                                     'username': member_id,
                                     'email': '*****@*****.**'
                                 })
     # Set the portal email info
     self.portal.setTitle('T\xc3\xa4st Portal')
     self.portal.email_from_name = 'T\xc3\xa4st Admin'
     self.portal.email_from_address = '*****@*****.**'
     self.registration.registeredNotify(member_id)
     self.assertEqual(len(mails.messages), 1)
     msg = message_from_string(mails.messages[0])
     # We get an encoded subject
     self.assertEqual(
         msg['Subject'],
         '=?utf-8?q?User_Account_Information_for_T=C3=A4st_Portal?=')
     # Also a partially encoded from header
     self.assertEqual(msg['From'],
                      '=?utf-8?q?T=C3=A4st_Admin?= <*****@*****.**>')
     self.assertEqual(msg['Content-Type'], 'text/plain; charset="utf-8"')
     # And a Quoted Printable encoded body
     self.failUnless('T=C3=A4st Admin' in msg.get_payload())
 def setUp(self):
     self.portal = self.layer['portal']
     self.portal_url = self.portal.portal_url()
     # create EasyNewsletter instance and add some subscribers
     setRoles(self.portal, TEST_USER_ID, ['Manager'])
     login(self.portal, TEST_USER_NAME)
     self.portal.invokeFactory('EasyNewsletter', 'enl1', title=u"ENL 1")
     self.newsletter = self.portal.get('enl1')
     self.newsletter.senderEmail = "*****@*****.**"
     self.newsletter.senderName = "ACME newsletter"
     self.newsletter.testEmail = "*****@*****.**"
     self.mail_settings = get_portal_mail_settings()
     # Set up a mock mailhost
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = mailhost = MockMailHost('MailHost')
     self.portal.MailHost.smtp_host = 'localhost'
     if not IS_PLONE_5:  # BBB
         self.portal.email_from_address = "*****@*****.**"
     else:
         registry = getUtility(IRegistry)
         self.mail_settings = registry.forInterface(IMailSchema,
                                                    prefix='plone')
         self.mail_settings.email_from_address = "*****@*****.**"
         self.mail_settings.smtp_host = u"localhost"
     sm = getSiteManager(context=self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     # We need to fake a valid mail setup
     self.mailhost = self.portal.MailHost
     self.enl_reg_tool = getUtility(IENLRegistrationTool,
                                    'enl_registration_tool')
Ejemplo n.º 15
0
    def testMailPassword(self):
        # tests email sending for password emails
        # First install a fake mailhost utility
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id, 'secret',
                          properties={'username': member_id,
                                      'email': '*****@*****.**'})

        registry = getUtility(IRegistry)
        site_settings = registry.forInterface(ISiteSchema, prefix='plone')
        site_settings.site_title = u'Tëst Portal'
        mail_settings = registry.forInterface(IMailSchema, prefix="plone")
        mail_settings.email_from_name = u'Tëst Admin'
        mail_settings.email_from_address = '*****@*****.**'

        from zope.publisher.browser import TestRequest
        self.registration.mailPassword(member_id, TestRequest())
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_string(mails.messages[0])
        # We get an encoded subject
        self.assertEqual(msg['Subject'],
                         '=?utf-8?q?Password_reset_request?=')
        # Also a partially encoded from header
        self.assertEqual(msg['From'],
                         '=?utf-8?q?T=C3=ABst_Admin?= <*****@*****.**>')
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="utf-8"')
Ejemplo n.º 16
0
    def afterSetUp(self):
        """ Set up """
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)

        self.workflow = self.portal.portal_workflow
        self.portal.acl_users._doAddUser('manager', 'secret', ['Manager'], [])
        self.setRoles('Manager')

        if not hasattr(self.folder, 'sandbox'):
            self.folder.invokeFactory('Folder', 'sandbox')
        self.sandbox = self.folder['sandbox']

        children = list(self.ptypes)
        self.sandbox.setConstrainTypesMode(1)
        self.sandbox.setImmediatelyAddableTypes(children)
        self.sandbox.setLocallyAllowedTypes(children)

        ptypes = self.portal.portal_types
        for ptype in children:
            ptypes[ptype].global_allow = True

        for ptype in self.ptypes:
            try:
                self.sandbox.invokeFactory(ptype, id=ptype, title=ptype)
            except Exception:
                continue
Ejemplo n.º 17
0
    def testMailPasswordEncoding(self):
        # tests email sending for password emails
        # First install a fake mailhost utility
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id,
                                    'secret',
                                    properties={
                                        'username': member_id,
                                        'email': '*****@*****.**'
                                    })
        # Set the portal email info
        self.portal.setTitle('Test Portal')
        self.portal.email_from_name = 'Test Admin'
        self.portal.email_from_address = '*****@*****.**'

        # Set the portal email encoding
        self.portal.email_charset = 'us-ascii'

        from zope.publisher.browser import TestRequest
        self.registration.mailPassword(member_id, TestRequest())
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_string(mails.messages[0])

        # Ensure charset (and thus Content-Type) were set via template
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="us-ascii"')
Ejemplo n.º 18
0
    def setUp(self):
        self.portal = self.layer['portal']
        self.portal_url = self.portal.portal_url()
        # create EasyNewsletter instance and add some subscribers
        setRoles(self.portal, TEST_USER_ID, ['Manager'])
        login(self.portal, TEST_USER_NAME)
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)
        self.mail_host = getUtility(IMailHost)

        if not IS_PLONE_5:  # BBB
            self.portal.email_from_address = "*****@*****.**"
            self.portal.email_from_name = u"Plone Master"
            self.mail_host.smtp_host = u"example.com"
            self.mail_host.smtp_port = 25
            self.mail_host.smtp_userid = u"*****@*****.**"
            self.mail_host.smtp_pass = u"Password"
        else:
            self.registry = getUtility(IRegistry)
            reg_mail = self.registry.forInterface(IMailSchema, prefix='plone')
            reg_mail.email_from_address = '*****@*****.**'
            reg_mail.email_from_name = u'Plone Master'
            reg_mail.smtp_host = u'example.com'
            reg_mail.smtp_port = 25
            reg_mail.smtp_userid = u'*****@*****.**'
            reg_mail.smtp_pass = u'Password'
Ejemplo n.º 19
0
    def setUpPloneSite(self, portal):
        """Set up Plone."""
        # Install into Plone site using portal_setup
        applyProfile(portal, 'niteoweb.jvzoo:default')

        # Login as Manager
        setRoles(portal, TEST_USER_ID, ['Manager'])
        login(portal, TEST_USER_NAME)

        # Mock mailhost
        portal.email_from_address = '*****@*****.**'
        mockmailhost = MockMailHost('MailHost')
        portal.MailHost = mockmailhost
        sm = getSite().getSiteManager()
        sm.registerUtility(component=mockmailhost, provided=IMailHost)

        # Commit so that the test browser sees these objects
        portal.portal_catalog.clearFindAndRebuild()
        import transaction
        transaction.commit()

        # add a logging handler that stores everything in a list so we can
        # later assert on it
        logger = logging.getLogger('niteoweb.jvzoo')
        logger.addHandler(MockedLoggingHandler())
    def testRegisteredNotify(self):
        # tests email sending on registration
        # First install a fake mailhost utility
        mails = self.portal.MailHost = MockMailHost('MailHost')
        sm = getSiteManager(self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mails, IMailHost)
        # Register a user
        self.registration.addMember(member_id,
                                    'secret',
                                    properties={
                                        'username': member_id,
                                        'email': '*****@*****.**'
                                    })

        registry = getUtility(IRegistry)
        site_settings = registry.forInterface(ISiteSchema, prefix='plone')
        site_settings.site_title = 'Tëst Portal'
        mail_settings = registry.forInterface(IMailSchema, prefix="plone")
        mail_settings.email_from_name = 'Tëst Admin'
        mail_settings.email_from_address = '*****@*****.**'

        # Notify the registered user
        self.registration.registeredNotify(member_id)
        self.assertEqual(len(mails.messages), 1)
        msg = message_from_bytes(mails.messages[0])
        # We get an encoded subject
        self.assertEqual(
            msg['Subject'],
            '=?utf-8?q?User_Account_Information_for_T=C3=ABst_Portal?=')
        # Also a partially encoded from header
        self.assertEqual(msg['From'],
                         '=?utf-8?q?T=C3=ABst_Admin?= <*****@*****.**>')
        self.assertEqual(msg['Content-Type'], 'text/plain; charset="utf-8"')
Ejemplo n.º 21
0
    def setUp(self):
        super(TestInvitationFormEmailing, self).setUp()
        self.login_as_portal_owner()
        provideAdapter(adapts=(Interface, IBrowserRequest),
                       provides=Interface,
                       factory=InviteForm,
                       name="invite")

        # create a workspace
        self.ws = api.content.create(self.workspace_container,
                                     "ploneintranet.workspace.workspacefolder",
                                     "alejandro-workspace",
                                     title="Alejandro workspace")

        self.app = self.layer['app']
        self.portal = self.layer['portal']
        self.request = self.layer['request']
        # don't import this at the top, because it screws up the setup
        # and none of the tests can run
        from Products.CMFPlone.tests.utils import MockMailHost
        #    # Mock the mail host so we can test sending the email
        mockmailhost = MockMailHost('MailHost')

        if not hasattr(mockmailhost, 'smtp_host'):
            mockmailhost.smtp_host = 'localhost'

        self.portal.MailHost = mockmailhost
        sm = self.portal.getSiteManager()
        sm.registerUtility(component=mockmailhost, provided=IMailHost)

        self.mailhost = api.portal.get_tool('MailHost')
        registry = getUtility(IRegistry)
        self.mail_settings = registry.forInterface(IMailSchema, prefix="plone")
        self.mail_settings.email_from_name = u'Portal Owner'
        self.mail_settings.email_from_address = '*****@*****.**'
 def afterSetUp(self):
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = mailhost = MockMailHost('MailHost')
     mailhost.smtp_host = 'localhost'
     sm = getSiteManager(context=self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     self.portal.email_from_address = '*****@*****.**'
 def afterSetUp(self):
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = MockMailHost('MailHost')
     PHCTestCase.PHCTestCase.afterSetUp(self)
     self.tf = self.folder.hc.tutorial  # tutorial folder
     self.tf.invokeFactory('HelpCenterTutorial', id='t')
     self.tutorial = self.tf.t
     self.tutorial.invokeFactory('HelpCenterLeafPage', 'page1')
Ejemplo n.º 24
0
 def _setup_mockmail(self):
     sm = getSiteManager(self.portal)
     sm.unregisterUtility(provided=IMailHost)
     dummyMailHost = MockMailHost('MailHost')
     sm.registerUtility(dummyMailHost, IMailHost)
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = dummyMailHost
     return dummyMailHost
    def setUpPloneSite(self, portal):
        applyProfile(portal, 'mooball.viewlets.contactform:default')

        # Set up a mock mailhost
        portal._original_MailHost = portal.MailHost
        portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = zope.component.getSiteManager(context=portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)
Ejemplo n.º 26
0
    def _setUpMail(self):
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)

        self.portal.email_from_address = '*****@*****.**'
        transaction.commit()
Ejemplo n.º 27
0
 def setUpPloneSite(self, portal):
     portal._original_MailHost = portal.MailHost
     portal.MailHost = mailhost = MockMailHost('MailHost')
     mailhost.smtp_host = 'localhost'
     sm = getSiteManager(context=portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     portal.email_from_address = '*****@*****.**'
     commit()
 def _setup(self):
     ptc.PloneTestCase._setup(self)
     # Replace normal mailhost with mock mailhost
     self.portal._original_MailHost = self.portal.MailHost
     self.portal.MailHost = mailhost = MockMailHost('MailHost')
     sm = getSiteManager(context=self.portal)
     sm.unregisterUtility(provided=IMailHost)
     sm.registerUtility(mailhost, provided=IMailHost)
     # Make sure our mock mailhost does not give a mailhost_warning
     # in the overview-controlpanel.
     self.configure_mail_host(u'mock', '*****@*****.**')
Ejemplo n.º 29
0
    def afterSetUp(self):
        super(TestCase, self).afterSetUp()
        self.browser = Browser()
        self.portal.acl_users._doAddUser('admin', 'secret', ['Manager'], [])

        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        self.membership = self.portal.portal_membership
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)
Ejemplo n.º 30
0
    def setUp(self):
        self.app = self.layer['app']
        self.portal = self.layer['portal']
        self.portal._original_MailHost = self.portal.MailHost
        self.portal.MailHost = mailhost = MockMailHost('MailHost')
        sm = getSiteManager(context=self.portal)
        sm.unregisterUtility(provided=IMailHost)
        sm.registerUtility(mailhost, provided=IMailHost)

        self.portal.email_from_address = '*****@*****.**'
        transaction.commit()