def setUp(self):
     """
     """
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     self.markRequestWithLayer()
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     self.browser.addHeader(
         'Authorization', 'Basic %s:%s' % (
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
     #Create some rules
     for x in ["first", "second", "third"]:
         #set some rules
         rule = Rule()
         rule.event = IObjectAddedEvent
         rule.title = "%s rule" % x
         #add the rules to rule's storage
         storage = getUtility(IRuleStorage)
         chooser = INameChooser(storage)
         storage[chooser.chooseName(None, rule)] = rule
         #set the action and add it to the rule
         action = MailSubscriptionsAction()
         action.subject = "Test %s action subject" % x
         rule.actions.append(action)
         email1 = "*****@*****.**"
         email2 = "*****@*****.**"
         self.tool.registerUser(action.actionUID, email1)
         self.tool.registerUser(action.actionUID, email2)
     transaction.commit()
 def testExecuteNoSource(self):
     sm = getSiteManager(self.portal)
     sm.unregisterUtility(provided=IMailHost)
     dummyMailHost = DummyMailHost('dMailhost')
     sm.registerUtility(dummyMailHost, IMailHost)
     e = MailSubscriptionsAction()
     e.message = 'Document created !'
     e.subject = "subject"
     self.tool.registerUser(e.actionUID, "*****@*****.**")
     ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)),
                          IExecutable)
     self.assertRaises(ValueError, ex)
     # if we provide a site mail address this won't fail anymore
     sm.manage_changeProperties({'email_from_name': 'The Big Boss',
                                 'email_from_address': '*****@*****.**',
                                 })
     ex()
     self.failUnless(isinstance(dummyMailHost.sent[0], Message))
     mailSent = dummyMailHost.sent[0]
     self.assertEqual('text/plain; charset="utf-8"',
                     mailSent.get('Content-Type'))
     self.assertEqual("*****@*****.**", mailSent.get('To'))
     self.assertEqual("The Big Boss <*****@*****.**>",
                      mailSent.get('From'))
     self.assertEqual("Document created !",
                      mailSent.get_payload(decode=True))
 def testExecuteNoSource(self):
     sm = getSiteManager(self.portal)
     sm.unregisterUtility(provided=IMailHost)
     dummyMailHost = DummyMailHost('dMailhost')
     sm.registerUtility(dummyMailHost, IMailHost)
     e = MailSubscriptionsAction()
     e.message = 'Document created !'
     e.subject = "subject"
     self.tool.registerUser(e.actionUID, "*****@*****.**")
     ex = getMultiAdapter((self.folder, e, DummyEvent(self.folder.d1)),
                          IExecutable)
     self.assertRaises(ValueError, ex)
     # if we provide a site mail address this won't fail anymore
     sm.manage_changeProperties({
         'email_from_name': 'The Big Boss',
         'email_from_address': '*****@*****.**',
     })
     ex()
     self.failUnless(isinstance(dummyMailHost.sent[0], Message))
     mailSent = dummyMailHost.sent[0]
     self.assertEqual('text/plain; charset="utf-8"',
                      mailSent.get('Content-Type'))
     self.assertEqual("*****@*****.**", mailSent.get('To'))
     self.assertEqual("The Big Boss <*****@*****.**>",
                      mailSent.get('From'))
     self.assertEqual("Document created !",
                      mailSent.get_payload(decode=True))
 def setUp(self):
     """
     """
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     self.markRequestWithLayer()
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     self.browser.addHeader('Authorization', 'Basic %s:%s' % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD,))
     #Create some rules
     for x in ["first", "second", "third"]:
         #set some rules
         rule = Rule()
         rule.event = IObjectAddedEvent
         rule.title = "%s rule" % x
         #add the rules to rule's storage
         storage = getUtility(IRuleStorage)
         chooser = INameChooser(storage)
         storage[chooser.chooseName(None, rule)] = rule
         #set the action and add it to the rule
         action = MailSubscriptionsAction()
         action.subject = "Test %s action subject" % x
         rule.actions.append(action)
         email1 = "*****@*****.**"
         email2 = "*****@*****.**"
         self.tool.registerUser(action.actionUID, email1)
         self.tool.registerUser(action.actionUID, email2)
     transaction.commit()
 def testInvokeEditView(self):
     element = getUtility(IRuleAction,
                          name='plone.actions.MailSubscriptions')
     e = MailSubscriptionsAction()
     editview = getMultiAdapter((e, self.folder.REQUEST),
                                name=element.editview)
     self.failUnless(isinstance(editview, MailSubscriptionsEditForm))
Пример #6
0
 def test_already_registered_email(self):
     """
     try to re-register an email for the same rule id
     """
     rule = Rule()
     rule.event = IObjectAddedEvent
     rule.title = "Test rule"
     #add the rule to rule's storage
     storage = getUtility(IRuleStorage)
     chooser = INameChooser(storage)
     storage[chooser.chooseName(None, rule)] = rule
     #set the action and add it to the rule
     action = MailSubscriptionsAction()
     action.subject = "Test Rule subject"
     action.message = "Test Rule message"
     rule.actions.append(action)
     tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     email = "*****@*****.**"
     result, msg = tool.registerUser(action.actionUID, email)
     result2, msg2 = tool.registerUser(action.actionUID, email)
     self.assertTrue(result)
     self.assertFalse(result2)
     self.assertEquals(msg2, 'already_subscribed_error')
 def setUp(self):
     """
     """
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.markRequestWithLayer()
     # Creating empty value for ACTUAL_URL to prevent KeyError
     self.request['ACTUAL_URL'] = ''
     app = self.layer['app']
     #set some things
     #create a test user with email
     self.acl_users = getToolByName(self.portal, 'acl_users')
     self.acl_users.userFolderAddUser('user1', 'secret', ['Member'], [])
     self.user1 = self.acl_users.getUser('user1')
     self.user1.setProperties(email='*****@*****.**')
     #now set some rules
     self.tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     for x in ["first", "second", "third"]:
         #set some rules
         rule = Rule()
         rule.event = IObjectAddedEvent
         rule.title = "%s rule" % x
         #add the rules to rule's storage
         storage = getUtility(IRuleStorage)
         chooser = INameChooser(storage)
         storage[chooser.chooseName(None, rule)] = rule
         #set the action and add it to the rule
         action = MailSubscriptionsAction()
         action.subject = "Test %s action subject" % x
         rule.actions.append(action)
     #set one only norobots question
     registry = queryUtility(IRegistry)
     settings = registry.forInterface(INorobotsWidgetSettings, check=False)
     settings.questions = (u'What is 4 + 4 ?::8', )
     transaction.commit()
 def setUp(self):
     """
     """
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.markRequestWithLayer()
     # Creating empty value for ACTUAL_URL to prevent KeyError
     self.request['ACTUAL_URL'] = ''
     app = self.layer['app']
     #set some things
     #create a test user with email
     self.acl_users = getToolByName(self.portal, 'acl_users')
     self.acl_users.userFolderAddUser('user1', 'secret', ['Member'], [])
     self.user1 = self.acl_users.getUser('user1')
     self.user1.setProperties(email='*****@*****.**')
     #now set some rules
     self.tool = getToolByName(self.portal, SUBSCRIPTION_TOOL, None)
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     for x in ["first", "second", "third"]:
         #set some rules
         rule = Rule()
         rule.event = IObjectAddedEvent
         rule.title = "%s rule" % x
         #add the rules to rule's storage
         storage = getUtility(IRuleStorage)
         chooser = INameChooser(storage)
         storage[chooser.chooseName(None, rule)] = rule
         #set the action and add it to the rule
         action = MailSubscriptionsAction()
         action.subject = "Test %s action subject" % x
         rule.actions.append(action)
     #set one only norobots question
     registry = queryUtility(IRegistry)
     settings = registry.forInterface(INorobotsWidgetSettings, check=False)
     settings.questions = (u'What is 4 + 4 ?::8',)
     transaction.commit()